2014-09-03 52 views
0

我對我的應用程序的設計有疑問。Swing設計JTable自動刷新?

我有2 JTable s(用我自己的TableModel),我想創建第三個表,它是基於其他兩個表中的選擇而構建的。所以當我開始我的應用程序時,沒有選擇任何東西,並且這個第三個表格應該是空的。

如何找出兩個表格中選擇的內容以及如何刷新第三個表格?

+2

請參閱[「如何使用表格」](http://docs.oracle.com/javase/tutorial/uiswing/components/table.html)教程。 – 2014-09-03 12:04:08

回答

2

如何找出兩個表中選擇的內容以及如何刷新第三個表?

請注意你在這裏有兩個不同但相關的問題。

第一個是關於表格中的選擇(參見How to Use Tables教程的User Selections部分)。基本上你需要附加ListSelectionListener到表ListSelectionModel爲了聽選擇的變化。事情是這樣的:

JTable table1 = new JTable(); 
table1.getSelectionModel().addListSelectionListener(new ListSelectionListener() { 
    @Override 
    public void valueChanged(ListSelectionEvent e) { 
     // Implementation here 
    } 
}); 

JTable API

第二個問題是關於刷新/更新第三個表。爲了做到這一點,您需要通過添加/刪除/更新行來處理第三個表的模型。然後這個模型會通知視圖有些事情已經改變了,你的表格會自動更新。