我看了一下JTable中幾個問題的Double值排序:JTable中未能排序整數和正確
Problems with JTable sorting of integer values
JTable + Sorting specific field
,但我仍然不能設法得到它的權利,因爲某些原因。
我寫了這個:
String allItemsColumns [] = { "#", "Name", "Stock",
"Price", "Type", "Supplier", "Location", "" };
allItemsTableModel = new DefaultTableModel(null, allItemsColumns);
allItemsTable = new JTable(allItemsTableModel)
{
Class<?>[] types = { Integer.class, String.class, Integer.class,
Double.class, String.class, String.class, String.class, ImageIcon.class };
@Override
public Class<?> getColumnClass(int columnIndex) {
return this.types[columnIndex];
}
};
但是我還是
0
10000
20
,當我整理的股票。可能它是一個明顯的,但我現在真的很想念它。
,我不認爲它很重要我如何添加信息,因爲我(這樣認爲),告訴它讀取列作爲整數,雙打或字符串
我的排序方法:
allItemsTable.setAutoCreateRowSorter(true);
TableRowSorter<DefaultTableModel> rowSorter =
(TableRowSorter<DefaultTableModel>)allItemsTable.getRowSorter();
rowSorter.setComparator(3, new Comparator<String>() {
@Override
public int compare(String o1, String o2)
{
return Integer.parseInt(o1) - Integer.parseInt(o2);
}
});
我有從我看到的其中一個問題中抽出來。列#3是「股票」,這是唯一的整數,但結果,就像我說的是:
0
10000
20
您的行排序代碼在哪裏?這些行不能奇蹟般地自行排序。 –
是的,對不起,我現在加了 – Nikola
爲了更好的幫助,請發佈[SSCCE](http://sscce.org/)。 –