このコードがまだ私のコンパレーターの使用を拒否している理由を誰かが理解できますか? これはすべて userTable オブジェクトに関連するコードです + そこにはマウスとキーのリスナーがありますが、並べ替えには影響していないと思います。
private TableRowSorter trs;
public constructor() {
initComponents();
...
trs = new TableRowSorter<>(userTable.getModel());
class IntComparator implements Comparator {
@Override
public int compare(Object o1, Object o2) {
System.out.println("comparing");
Integer int1 = (Integer) o1;
Integer int2 = (Integer) o2;
return int1.compareTo(int2);
}
}
trs.setComparator(0, new IntComparator());
userTable.setRowSorter(trs);
...
}
private void initComponents() {
...
userTable = new javax.swing.JTable(){
@Override
public TableCellRenderer getCellRenderer(int row, int column) {
return renderer;
}
};
...
userTable.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {
},
new String [] {
"ID", "count", "null"
}
) {
Class[] types = new Class [] {
java.lang.Integer.class, java.lang.Integer.class, java.lang.Object.class
};
boolean[] canEdit = new boolean [] {
false, false, false
};
public Class getColumnClass(int columnIndex) {
return types [columnIndex];
}
public boolean isCellEditable(int rowIndex, int columnIndex) {
return canEdit [columnIndex];
}
});
}
RADIXソートを実行し続け、「比較中」というメッセージも表示されません。ありがとうございました。