我正在使用JFreeChart在加载Java EE应用程序中的页面时构建图形。图表正在构建正确,但页面会自动刷新一遍又一遍。有没有人发现这个问题?好像我的代码处于无限循环中,但情况并非如此。
以下代码位于我的托管bean java类中:
public void buildGraph(Integer size) throws IOException {
for(int i = 0; i < allLoads.length; i++) {
double [] multipliedLoad = new double[allLoads[i].length];
// allLoads.length is equal to 6
// allLoads[i].length is equal to 24
for(int j = 0; j < allLoads[i].length; j++) {
multipliedLoad[j] = allLoads[i][j]*size;
}
XYSeries series = new XYSeries("Load Profile Data");
series = addData(series, multipliedLoad);
XYSeriesCollection data = new XYSeriesCollection(series);
final JFreeChart chart = ChartFactory.createXYLineChart(
"Original Load Profile",
"Hours (hrs)",
"Power (kVA)",
data,
PlotOrientation.VERTICAL,
false,
true,
false
);
XYPlot plot = (XYPlot) chart.getPlot();
final NumberAxis xAxis = (NumberAxis) plot.getDomainAxis();
xAxis.setTickUnit(new NumberTickUnit(1));
chart.getPlot().setOutlineVisible(false);
chart.getPlot().setBackgroundPaint(Color.WHITE);
chart.getTitle().setVisible(false);
File file = new File(filename[i]);
ChartUtilities.saveChartAsPNG(file, chart, 600, 300);
}
}
当按下前一个xhtml页面上的提交按钮时,将访问此代码。
如果我要删除保存到PNG行,那么代码不会重复刷新,不幸的是我需要这个功能。
非常感谢任何帮助!