Таким образом, с сортировкой JTable (ex ниже) на столбце A будет производиться следующее. Однако вы хотите, чтобы данные сортировались, но не номера строк, правильно?
|row| column A | |row| column A |
+---+-----------+ +---+-----------+
| 1 | blah blah | --> | 1 | blah blah |
| 2 | something | | 3 | more blah |
| 3 | more blah | | 2 | something |
Я хотел бы подойти к этому с TableCellRenderer для столбца 0. Хитрость заключается в том, чтобы игнорировать значение, переданное и вместо того, чтобы использовать параметр строки.
public class RowRenderer extends JLabel implements TableCellRenderer {
public Component getTableCellRendererComponent(JTable table, Object color,
boolean isSelected, boolean hasFocus, int row, int column) {
setText(Integer.toString(row));
return this;
}
}
Примечание: если вы постраничного таблицу (т.е. модель не содержит все строки, например, только строки 100-200), Вам необходимо будет сообщить сотовый визуализатор суммы, чтобы добавить до row
, чтобы получить номер строки для отображения.
Отлично :-) Я получил это уже от предыдущего предложения, но ваше, безусловно, правильное решение. –