2010-02-16 63 views
0

有沒有一種方法,我可以有一個父JTable排序值被傳遞和設置在Java 1.4中的子JTable的排序?我擁有的是具有約6列的子主題的JTable,以及具有相同列的子JTable的子JTable。我需要做的是,當用戶從父級JTable中選擇一個項目並更新子級JTable時,排序會改變爲當時的父級JTable。我已經使用Java 1.6和TableRowSorter類正常工作,直到我意識到必須使用Java 1.4 - TableRowSorter類不存在。JTable排序與雙表保持同步在Java 1.4

+0

我不明白這個父JTable和子JTable的概念。如果你只想在桌面上排序,那麼在1.4中沒有直接的API,你可能需要自己編寫它,或者更好地複製1.6 TableRowSorter代碼並使用它。 – 2010-02-16 02:33:05

回答

1

是否需要按照TableRowSorter所做的方式爲表提供排序的問題,還是需要將排序鍵從父項傳遞給子項?

如果是前者,你可以備份你的JTables一個TableModel s表示包含實現Comparable行對象。然後,您可以爲每列實施自己的Comparator類。然後,您可以在您的定製TableModel上對支持排序的收集設置適當的Comparator

如果是後者,我想你正在執行ListSelectionListener以便用正確的數據觸發子表的填充。在這個相同的過程中,您可以查詢父表的當前Comparator並將其應用到子表模型。

+0

問題是我需要提供一種方法來對TableRowSorter所做的方式進行排序。我有一個自定義TableModel,但我不知道如何將它綁回到子表。 – anseltim 2010-02-16 03:26:18

+0

謝謝你指點我正確的方向。我現在正在使用父表中的coumn索引來設置子表上的排序。 – anseltim 2010-02-16 17:32:52