2013-05-18 15 views
-7

標題說得很清楚。我想使用快速排序算法,但我的一個朋友說我可以使用比較器,但我不知道如何去做。如何使用比較器和tablerowsorter按字母順序排列字符串jtables值?

+2

您是否閱讀過[如何使用表格 - 排序和過濾](http://docs.oracle.com/javase/tutorial/uiswing/components/table.html#sorting)? – Howard

+0

是的,我試過,但我似乎並沒有工作 http://pastebin.com/4s6B4HBC – jjghali

+0

然後,你應該提供你使用的代碼 - 請不要複製所有的代碼,但做一個[SSCCE](http:///sscce.org/)。 – Howard

回答

-1

您必須創建一個比較:

Comparator<String> comparator = new Comparator<String>() { 
    public int compare(String s1, String s2) { 
     return s1.compareTo(s2); 
    } 
}; 

有了這個比較,你將能夠按字母順序對數據進行排序。

然後創建分類器並傳遞您的JTable的比較器和模型。

然後:

sorter.sort(); 

我想以後您的數據進行排序。

+0

好的謝謝。顯然我不能投票,因爲我沒有足夠的聲望 – jjghali

+0

-1,沒有必要創建一個自定義比較器。在添加RowSorter時,JTable會自動對列進行排序,假定您的getColumnClass()方法已正確實現。這個答案可能有效,但它正在重新發明輪子。代碼還有一些其他問題。 – camickr

+0

@camickr,請仔細閱讀問題標題。我認爲「使用比較器」意味着user2397207想使用自定義比較器對數據進行排序:) – pbespechnyi

相關問題