2010-02-16 59 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