2010-06-01 112 views
0

我在启用了autoCreateRowSorter的Swing应用程序上有了这个JTable。我的表只有3列,两个字符串和一个int,当我单击列标题时,它适用于所有列。Swing中autoCreateRowSorter的初始状态JTable

但是,我正在寻找以编程方式执行此操作的方式。我想为此表设置“初始状态”。使用Windows外观,列标题(排序时)有一个显示排序顺序的小箭头。但在没有显示的启动时,我必须进行一次初始点击。

我该怎么做代码?

回答

1

要programaticallly排序,你可以做一些事情如表:

DefaultRowSorter sorter = ((DefaultRowSorter)table.getRowSorter()); 
ArrayList list = new ArrayList(); 
list.add(new RowSorter.SortKey(0, SortOrder.ASCENDING)); 
sorter.setSortKeys(list); 
sorter.sort(); 
+0

对于如此简单的事情,我讨厌Java哈哈。谢谢:) – 2010-06-01 22:07:43

+0

@Nazgulled总是有一条更长的路径来实现简单的目标:-)查看理查德的核心中最短的版本。 JXTable在桌面级别上提供了方便的API,可以实现更短的解决方案 – kleopatra 2011-08-25 10:49:06

1

我想DefaultRowSorter#toggleSortOrder(int column)就做好了

1

你甚至都不需要DefaultRowSorter接口。

table.getRowSorter().toggleSortOrder(column); 

也适用。