JTable内の数値のみを含む列の並べ替えを実現するにはどうすればよいですか?クラスTableRowSorter
があります。しかしこれを使うと、以下のようになります:すべての数値に対して、toStringを呼び出すことによって文字列表現が取られ、それが代わりに比較されます。私が受け取ることは、たとえば、この次のとおりです。これを回避するためにJTable内の数値の並べ替え
100、13、2、22、9 代わりに2、9、13、22、100
TableRowSorter<TableModel> sorter = new TableRowSorter<TableModel>(table);
table.setRowSorter(sorter);
、以下の方法があります:
sorter.setComparator(column,comparator);
私の数値はInteger、Long、Doubleだけなので、標準のjava.langクラスの控えめなComparatorを定義する理由はわかりません。簡単な方法がありますか?
getColumnClass()でモデルから返されるクラスは何ですか?それは整数か文字列ですか? – KrzyH