JFreeChart:动态更改系列列表

时间:2012-08-08 17:12:34

标签: java jfreechart


请问,如何更新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()来刷新面板,但没办法。它不起作用。
感谢

0 个答案:

没有答案