在for循环中创建JfreeCharts

时间:2012-03-31 12:37:17

标签: java swing concurrency jfreechart

我正在读取输入流并将数据存储在数组中。现在,如果有一些测试条件(尽管输入流未完全读取,我想创建一个图表)。

for (int i = 0; i < jsonMainArr.size(); i++) 
{ 
     JSONObject childJSONObject = jsonMainArr.getJSONObject(i);   
    String date1 = childJSONObject.getString("date");
    DateFormat forma=new SimpleDateFormat("yyyy-MM-dd");
    Date dre=forma.parse(date1);
    d[i]=dre;

    if(somecondition)
    {
        CandleStickChart chart = new CandleStickChart("Candle Stick Chart");
        chart.pack();
        RefineryUtilities.centerFrameOnScreen(chart);
        chart.setVisible(true);
    }
}

现在,如果dre是特定数据,我想显示图表。我不想打破for循环,因为其他数据(下一个公司的数据仍然需要解析)。我注意到这在循环内部不起作用,只能在它之外工作。我能做些什么来克服这个困难。

1 个答案:

答案 0 :(得分:2)

在另一个线程上运行数据采集循环,例如SwingWorker。仅对已完成的模型调用publish(),标记要显示的模型。在process()

中显示图表