每隔1秒更新一次模型更改的jtable

时间:2014-12-18 20:59:08

标签: java swing user-interface timer jtable

我有一个带有AbstractTableModel的JTable,其中包含ArrayList中的数据。列表只是几个元素,但对象的属性变化很快(可能每秒100次)

我想它会一直发挥不好的性能。

是否可以使用定时器每1秒触发一次JTable更新?

Timer timer = new Timer(1000, new ActionListener() {                
        @Override
        public void actionPerformed(ActionEvent e) {
            myModel.fireTableChanged(new TableModelEvent(myModel));
        }
    });
timer.start();

1 个答案:

答案 0 :(得分:2)

使用SwingWorker。您可以在doInBackground()publish()中期结果的实施过程中收集数据,并event dispatch thread sustainable rate上的process()更改TableModel 。一个完整的例子是here