0


请问,我怎样才能更新 JfreeChart 的系列。
我的 Jfreechart 是这样工作的,
我有一组 CheckBox,当我选择要从中检索信息的复选框时,我想在图表的系列区域中看到它们。
系列列表正在更改,但没有显示。如何在代码中做到这一点?
谢谢

编辑
这就是我的代码的编写方式

 public DrawChart(JPanel panel){
    this.refresh = new RefreshGraph();
    this.displayChart (panel);
}

private void displayChart(JPanel jpanel){
    final DefaultCategoryDataset dataset = new DefaultCategoryDataset();

    Timer timer = new Timer(1000, new ActionListener(){
        @Override
        public void actionPerformed(ActionEvent e){
            refresh.getRefresh (dataset);
        }
    });
    timer.start ();

    JFreeChart chart = createChart(dataset);

    ChartPanel panel=new ChartPanel(chart);
    panel.setPreferredSize (new Dimension(700,300));
    jpanel.setLayout(new java.awt.BorderLayout());
    jpanel.add (panel, BorderLayout.CENTER);
    jpanel.repaint ();
    jpanel.setVisible(true);
}

private JFreeChart createChart(final CategoryDataset dataset){
    final JFreeChart result = ChartFactory.createLineChart ("", null, null, dataset, PlotOrientation.VERTICAL, true, true, false);
    return result;
}

这就是我填充数据集的方式

dataset.addValue (Double.parseDouble (separateValues[0]), _listSeries.get (0), aLine);
dataset.addValue (Double.parseDouble (separateValues[1]), _listSeries.get (1), aLine);

我需要的是,当 Timer 每 1 秒运行一次时,_listSeries(代表要显示的所有系列的列表)也会发生变化。只有图中的值不会改变系列区域。
我该怎么做?
我想通过调用 repaint() 来刷新面板,但没办法。这没用。
谢谢

4

0 回答 0