我在啓用了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