2010-06-01 82 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); 

也適用。