JTable, как сохранить новый индекс строки - PullRequest
0 голосов
/ 04 июля 2010

У меня следующая проблема. Допустим, у меня есть JTable со следующими значениями:

1 2 3 4 5

Теперь я выбираю «3» и нажимаю кнопку, которая сохраняет индекс строки и печатает «3». У меня есть еще одна кнопка, назовем ее «следующая кнопка», когда я нажимаю ее, она напечатает «4»

Теперь я сортирую (или в данном случае просто случайным образом) всю таблицу, и теперь она выглядит так:

2 5 4 1 3

Когда я сейчас нажимаю «следующую кнопку», я хочу, чтобы она напечатала «1», потому что это значение после «4».

Как мне это сделать, чтобы работать? Это уже работает, когда я не сортирую таблицу, чем я могу просто напечатать сохраненную строку +1 ...

Есть ли что-то вроде прослушивателя сортировки, чтобы я мог перезаписать сохраненную строку новым значением?

Приветствия Тимоти

Ответы [ 2 ]

0 голосов
/ 05 июля 2010

Поскольку я понимаю, что проблема с последним индексом, в вашей проблеме, что, когда это 4, следующий должен быть 1. эту проблему можно решить, если выполнить условие if. Для примера, если я предполагаю, что вы сохраняете индекс в переменной rowIndex = 4; if (rowIndex == jTable.getRowCount () - 1) nextRowinsex = 1; // который является первым индексом

0 голосов
/ 05 июля 2010

Предлагаю вам погрузиться в мир TableModel. При программировании на Swing обычно лучше сразу отделить модель от компонента. Добавьте столбец в таблицу для обработки заказа, но не показывайте его.

Более простой метод, но немного тупиковый, состоит в том, чтобы сделать объект, хранящийся в таблице, типом вашего собственного изобретения. Просто переопределите toString, чтобы вернуть отображаемое представление.

...