2014-05-14 108 views
0

我有課程直方圖,我很想隨時更新他的價值。你能告訴我如何用計時器做到這一點嗎? :P我一直有4個垃圾箱。另外我有線程,我改變Calculation.n隨着時間的推移可能鎖定線程,直到直方圖更新?雖然我不需要在定時器上做,但我只是希望每次「n」都改變它的值直方圖來更新。動態直方圖JFreeChart

public class Histogram extends JPanel { 

/** 
* 
*/ 
private static final long serialVersionUID = 8582587439869049160L; 



public Histogram() { 
    // TODO Auto-generated constructor stub 
    setVisible(true); 
    final HistogramDataset dataSet = new HistogramDataset(); 
    final double particles[] = {Calculation.n,Calculation.n1,Calculation.n2,Calculation.n3}; 
    dataSet.addSeries("How many particles passed", particles, 4); 

    Timer timer = new Timer(250, null); 
    timer.addActionListener(new ActionListener() { 
      @Override 
      public void actionPerformed(ActionEvent e) { 

      } 
     }); 
    timer.start(); 


    JFreeChart histogram =ChartFactory.createHistogram(
      "Histogram", 
      null, 
      null, 
      dataSet, 
      PlotOrientation.VERTICAL, 
      true, 
      true, 
      false); 
    ChartPanel chartPanel = new ChartPanel(histogram); 
    add(chartPanel); 
    revalidate(); 


} 

回答

1

JFreeChart中包含另一個數據集實現:SimpleHistogramDataset。這一個允許你不斷添加新的值(通過addObservation()/addObservations()方法)。

1

我不認爲這是可能的,而不實現自己的HistogramDataset版本,在添加數據集,然後直方圖進行評估。

如果您確實實施了自己的HistogramDataset版本,請將代碼基於HistogramDataset #addSeries並記得在末尾調用fireDatasetChanged()

+0

Tbh我不知道該怎麼做。所以也許添加系列並刪除它們每個狀態的變化? – FilOle

+0

我無法設置刪除/刪除系列 – GrahamA