我在启用了autoCreateRowSorter的Swing应用程序上有了这个JTable。我的表只有3列,两个字符串和一个int,当我单击列标题时,它适用于所有列。Swing中autoCreateRowSorter的初始状态JTable
但是,我正在寻找以编程方式执行此操作的方式。我想为此表设置“初始状态”。使用Windows外观,列标题(排序时)有一个显示排序顺序的小箭头。但在没有显示的启动时,我必须进行一次初始点击。
我该怎么做代码?
我在启用了autoCreateRowSorter的Swing应用程序上有了这个JTable。我的表只有3列,两个字符串和一个int,当我单击列标题时,它适用于所有列。Swing中autoCreateRowSorter的初始状态JTable
但是,我正在寻找以编程方式执行此操作的方式。我想为此表设置“初始状态”。使用Windows外观,列标题(排序时)有一个显示排序顺序的小箭头。但在没有显示的启动时,我必须进行一次初始点击。
我该怎么做代码?
要programaticallly排序,你可以做一些事情如表:
DefaultRowSorter sorter = ((DefaultRowSorter)table.getRowSorter());
ArrayList list = new ArrayList();
list.add(new RowSorter.SortKey(0, SortOrder.ASCENDING));
sorter.setSortKeys(list);
sorter.sort();
我想DefaultRowSorter#toggleSortOrder(int column)
就做好了
你甚至都不需要DefaultRowSorter
接口。
table.getRowSorter().toggleSortOrder(column);
也适用。
对于如此简单的事情,我讨厌Java哈哈。谢谢:) – 2010-06-01 22:07:43
@Nazgulled总是有一条更长的路径来实现简单的目标:-)查看理查德的核心中最短的版本。 JXTable在桌面级别上提供了方便的API,可以实现更短的解决方案 – kleopatra 2011-08-25 10:49:06