jPanel1.add(p,BorderLayout.CENTER);
在使用JFeechart的时候需要把chartpanel加入到jpanel,通常的问题是通过代码加入了jpanel,但是显示不出来,如下面的代码:
TimeSeriesCollection dataset = new TimeSeriesCollection();
for (int i = 0; i < 5; i++) {
TimeSeries pop = new TimeSeries("try " + i, Day.class);
pop.add(new Day(10 + i, 1 + i, 2004 + i), 100 * (i + 2));
pop.add(new Day(10 + 1 * i, 1 + 2 + i, 2004 + i + 1), 150 * (i + 2));
pop.add(new Day(10 + 2 * i, 1 + 2 * i, 2004 + i + 2), 150 * (i + 3));
pop.add(new Day(10 + 3 * i, 1 + 2 * i, 2004 + i + 3), 150 * (i + 4));
pop.add(new Day(10 + 4 * i, 1 + 2 * i, 2004 + i + 10), 150 * (i + 5));
dataset.addSeries(pop);
}
TimeSeries pop = new TimeSeries("Try asjhaihsiuahsiuahiushaiushiauhsiuhasiua" + 100, Day.class);
int i = 5;
pop.add(new Day(1, 1 + i, 2004 + i), 100 * (i + 2));
pop.add(new Day(2, 1 + 2 + i, 2004 + i + 1), 150 * (i + 2));
pop.add(new Day(3, 1 + 2 * i, 2004 + i + 2), 150 * (i + 3));
pop.add(new Day(4, 1 + 2 * i, 2004 + i + 3), 150 * (i + 4));
pop.add(new Day(5, 1 + 2 * i, 2004 + i + 10), 1500 * (i + 5));
dataset.addSeries(pop);
JFreeChart chart = ChartFactory.createTimeSeriesChart(
"Population of CSC408 Town",
"Date",
"Population",
dataset,
true,
true,
false);
ChartPanel p = new ChartPanel(chart);
jPanel1.add(p, BorderLayout.CENTER);
jPanel1.validate();
看似正确的做法却看不到chart在jpanel里面的显示,纠正方法非常简,就是在
jPanel1.add(p, BorderLayout.CENTER);
之前加上如下的一行代码:
jPanel1.setLayout(new java.awt.BorderLayout());