2010-09-16 65 views
1

我創建了一個顯示兩個不同表格的JDialog。當用戶從第一個表中選擇一行時,第二個表的內容應該相應地更新並顯示一些新的數據。有人可以給我一些指導方針來創建這樣的表格行爲嗎?謝謝!如何根據從另一個表中選擇一行來更改表格內容

+0

更具體一點,您知道多少? – pstanton 2010-09-16 22:37:58

+0

我已經創建了兩個擴展JTable類的表類。這些類中的每一個都有其自己的表模型類,並具有參數List object ... – Anto 2010-09-16 22:55:13

回答

3
  • 使第二表的表模型實現ListSelectionListener並將其添加爲一個監聽器第一個表的選擇模型
  • 確保你火fireTableDataChanged()(假設第二個表的表格模型擴展AbstractTableModel)當調用第二個表格模型的​​時。

或者您可以添加一個匿名類來轉發相應的事件。例如:

table1.getSelectionModel().addListSelectionListener(new ListSelectionListener() { 
    public void valueChanged(ListSelectionEvent e) 
    { 
    ... // fill data into table2 
    tableModel2.fireTableDataChanged(); // update the display 
    } 
});  
相關問題