2010-02-15 62 views
1

在我的應用程序中,我有一些類似的線程正在做它們的東西,我想在一行表中表示一些屬性(每行一個線程)。我將一個行對象傳遞給相應的線程,並在更改值時更新它們,但是我在API中找不到類似的東西。那麼用正確的屬性保持行更新的正確策略是什麼?如何將對象綁定到Swing表中的行?

回答

3

使用JTable,創建這種表的傳統方法是讓類實現TableModel(或擴展AbstractTableModelDefaultTableModel)。在那裏你會維護你的數據,並且這樣做的目的是讓你查看每個線程的數據結構。你會實現getValueAt方法來返回你的線程每行的值。當一個線程的屬性發生變化時,它會更新TableModel。然後,您需要告訴JTable您的數據已更改,並從模型更新。你可以通過發起一個tableChanged事件來做到這一點。 AbstractTableModel及其後代有多種fireTableChanged類型的方法可用。確保你在EventDispatchThread中執行這個事件。請參閱topics on currency in SwingSwingWorker瞭解有關與繪畫GUI交互的工作線程的信息。

相關問題