2011-02-08 60 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的引用,並且代碼正在更新錯誤的模型。