2011-02-08 46 views
0

我正在使用JTable。许多线程会尝试将行添加到JTable。JTable和线程

问题:只有一行被添加。之后,没有行被添加。

+2

你能告诉我们你用来更新jtable的代码吗?你在使用SwingUtilities吗? – dogbane 2011-02-08 09:48:28

回答

2

Swing通常不是线程安全的。如果你需要从比AWT事件分派线程其他线程修改Swing组件,使用

SwingUtilities.invokeLater(new Runnable(){public void run() { 
    // here your modification code 
}}); 

或者invokeAndWait。 (这些方法其实做相同java.awt.EventQueue名称相似的方法。)

0

只有一行被添加。之后,没有行被添加。

可能因为您每次都重新创建TableModel,或者您有多个对TableModel的引用,并且代码正在更新错误的模型。