Ответ 1
Из старой ветки форума java
JPanel jPanel1 = new JPanel();
jPanel1.setLayout(new java.awt.BorderLayout());
..
ChartPanel CP = new ChartPanel(chart);
..
jPanel1.add(CP,BorderLayout.CENTER);
jPanel1.validate();
если у меня есть мой Jpanel и мой JFreeChart. Как добавить эту диаграмму в JPanel?
XYSeries series = new XYSeries("XYGraph");
series.add(1, 1);
series.add(1, 2);
series.add(2, 1);
series.add(3, 9);
series.add(4, 10);
// Add the series to your data set
XYSeriesCollection dataset = new XYSeriesCollection();
dataset.addSeries(series);
// Generate the graph
JFreeChart chart = ChartFactory.createXYLineChart(
"XY Chart", // Title
"x-axis", // x-axis Label
"y-axis", // y-axis Label
dataset, // Dataset
PlotOrientation.VERTICAL, // Plot Orientation
true, // Show Legend
true, // Use tooltips
false // Configure chart to generate URLs?
);
и теперь, как я могу добавить диаграмму в свой JPanle?
Из старой ветки форума java
JPanel jPanel1 = new JPanel();
jPanel1.setLayout(new java.awt.BorderLayout());
..
ChartPanel CP = new ChartPanel(chart);
..
jPanel1.add(CP,BorderLayout.CENTER);
jPanel1.validate();
Вот хороший учебник, который поможет вам дальше: как встраивать JFreeChart в JPanel
JFreeChart chart = new JFreeChart("Cos(x) and Cos^2(x) versus x", parent);
ChartPanel myChart = new ChartPanel(chart);
myChart.setMouseWheelEnabled(true);
jPanel1.setLayout(new java.awt.BorderLayout());
jPanel1.add(myChart,BorderLayout.CENTER);
jPanel1.validate();
У меня была та же проблема, но я смог определить способ решить эту проблему.
JPanel panel = new JPanel();
panel.setBackground(new Color(255, 102, 51));
panel.setBounds(50, 64, 955, 888);
frame.getContentPane().add(panel);
panel.setLayout(null); //Absolute Layout
XYSeries series = new XYSeries("XY Chart");
XYSeriesCollection dataset = new XYSeriesCollection(series);
JFreeChart chart = ChartFactory.createTimeSeriesChart("Testing Chart", "Date", "Average Profit", dataset);
ChartPanel chartPanel = new ChartPanel((JFreeChart) null);
chartPanelH2S.setChart(chart);
chartPanelH2S.setBounds(39, 193, 419, 309);
panel.add(chartPanel);
frame.setVisible(true);