【问题标题】:How to update a chart in JFreeChart?如何更新 JFreeChart 中的图表?
【发布时间】:2011-08-22 15:01:56
【问题描述】:

我有一个组合 XYPlot 和一个下拉列表。我想根据下拉列表中的用户输入更新我的图表。这该怎么做? 我尝试了以下代码

frmJPanel.getContentPane().removeAll();

frmJPanel.setLayout(new BorderLayout());

initChart(option);

frmJPanel.repaint();

只有在我最小化/最大化窗口后才会反映这些更改。需要调用的函数是什么?有什么更好的方法来做到这一点?

【问题讨论】:

    标签: java jfreechart


    【解决方案1】:

    ChartPanel "向图表注册以接收图表任何组件更改的通知。只要收到此通知,图表就会自动重绘。"有herehere的例子。

    【讨论】:

    • 我必须包含函数调用 - frmPanel.validate() 才能更新更改。
    • 我很惊讶。 frmPanelJPanel 还是 ChartPanel?参照。这个example,不经意间混淆了两者。
    • 它是一个 JPanel。应该是 frmJPanel.validate()
    【解决方案2】:

    我的图表位于 org.jfree.chart.ChartPanel 中。当我想更新图表时,我只需调用 chartPanel.repaint() 方法。

    chartPanel 本身添加了另一个 JPanel,该 JPanel 又放置在应用程序的主布局中。

    【讨论】:

    • 我很惊讶repaint() 是必需的,虽然我看不出有什么害处。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多