可以检测到JFreeChart ChartPanel何时更改了它的缩放?

时间:2016-06-28 16:21:13

标签: java jfreechart

在JFreeChart应用程序中,应用程序是否可以检测其ChartPanel对象何时更改其缩放状态,即它是否已放大或缩小?是否可以安装将检测此类缩放状态更改的侦听器?

为了记录,我正在使用JFreeChart-FSE(“未来状态版”)库,所以如果在常规库中无法做到这一点,可以在FSE中完成吗?

1 个答案:

答案 0 :(得分:1)

您可以尝试将侦听器添加到ChartPanel的Plot中。 该图的方法是addChangeListener()。

因此,当您的绘图加载时,您计算原始缩放状态。 您可以将缩放状态与绘图中的可见数据相关联。 例如,域Axis上的缩放状态可以从实际的lowerBound和upperBound值计算得出:

    double lowerBound = yourChartPanel.getXYPlot().getDomainAxis().getLowerBound();
    double upperBound = yourChartPanel.getXYPlot().getDomainAxis().getUpperBound();

调用侦听器时,您只需检查自上次以来缩放状态是否发生了变化。