JTable-значения «перепрыгивают» в другую ячейку после нажатия Enter - PullRequest
0 голосов
/ 26 января 2009

Я работаю с Java. Я создал JTable и сделал ячейки таблицы редактируемыми. Моя проблема в том, что когда я выбираю ячейку и записываю в нее значение, а затем нажимаю клавишу Enter, введенное мной значение не остается в той ячейке, в которой я его набрал, а переходит в другую ячейку где-то в таблице. Значение остается прежним, но в нем находится ячейка, в которую я его набрал.

Я представляю ячейки таблицы как экземпляры класса Cell.

По умолчанию что-то происходит, и я не знаю, что изменить, чтобы значение ячейки оставалось в ячейке, хотя я просматривал некоторые материалы онлайн о JTables. Знаете ли вы, в чем может быть проблема, и где я должен искать в коде, чтобы ее исправить? Заранее спасибо.

1 Ответ

2 голосов
/ 26 января 2009

Похоже, ваши модельные индексы где-то запутаны.

Если вы вообще используете RowSorter, то JTable.getSelectedRow вернет индекс просматриваемой строки, а не строку в модели. Вы можете использовать RowSorter.convertRowIndexToModel (), чтобы получить правильный индекс.

Дважды проверьте метод JTableModel.setValueAt (), чтобы убедиться, что индексы ячеек являются теми, которые вы отредактировали, и что вы сохраняете новое значение в нужном месте.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...