Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/346.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JFreeChart:动态更改系列列表_Java_Jfreechart - Fatal编程技术网

Java JFreeChart:动态更改系列列表

Java JFreeChart:动态更改系列列表,java,jfreechart,Java,Jfreechart,请问,如何更新JfreeChart系列。 我的Jfreechart是这样工作的, 我有一组复选框,当我选择要从中检索信息的复选框时,我希望在图形的系列区域中看到它们。 系列列表正在更改,但没有显示。如何在代码内部完成此操作?谢谢 编辑 这就是我的代码的编写方式 public DrawChart(JPanel panel){ this.refresh = new RefreshGraph(); this.displayChart (panel); } private void


请问,如何更新JfreeChart系列。
我的Jfreechart是这样工作的,
我有一组复选框,当我选择要从中检索信息的复选框时,我希望在图形的系列区域中看到它们。
系列列表正在更改,但没有显示。如何在代码内部完成此操作?
谢谢

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

 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);
我需要的是,当计时器每1秒运行一次时,_listSeries(表示要显示的所有序列的列表)也会更改。只有图形中的值在系列区域中没有变化。
我该怎么做?
我想通过调用repaint()刷新面板,但没有办法。它不起作用。

谢谢

请编辑您的问题,包括显示您当前方法的问题。我已经编辑了@trashgod您的示例不完整。什么是串联区?问题解决了。要刷新图表,我只需在声明数据集时清除它。即dataset.clear();每次单击都会刷新图表。您可以。