【发布时间】:2011-04-11 21:49:49
【问题描述】:
我创建了一个如下所示的图表,我正在向 TimeSeries 添加值(在我的程序中的不同位置)。 ChartPanel 实际上包含在 JTabbedPane 中,我不想重绘图表,除非它的选项卡正在显示。我有什么方法可以表明当新数据进入 TimeSeries 时不应发生渲染,除非该选项卡是当前显示的选项卡?我猜有一些调用表明数据已更新并且需要新的渲染,所以基本上我想拦截该调用并且如果选项卡未显示则不执行任何操作,如果选项卡正在显示则让调用通过显示,并在用户切换到该选项卡时手动调用一次。这不是在后台使用一个 ChartPanel 的主要问题,但我在不同的选项卡上有几个,它开始像讨厌的那样消耗 CPU 来不断更新 4-5 个图表。
sAccuracy = new TimeSeries("a");
TimeSeriesCollection dataset = new TimeSeriesCollection(sAccuracy);
JFreeChart c = ChartFactory.createTimeSeriesChart("Accuracy",
"", "Percent", dataset, false, false, false);
ChartPanel cp = new ChartPanel(c);
【问题讨论】:
标签: java swing user-interface rendering jfreechart