Как изменить стандартное поведение остановки остановки в jtable
Вопрос
Когда вы редактируете ячейку в jtable, значение становится постоянным только в случае изменения фокуса или при нажатии клавиши ввода (например, если вы меняете значение ячейки с «abc» на «xyz») и закрываете окно редактирование потеряно). Как сделать редактирование постоянным, когда пользователь прекращает редактирование? Р>
Я думаю, что мы должны обновить значение ячейки, так как значение ячейки редактируется, но я не уверен, как. Любая помощь приветствуется!
Заранее спасибо!
Решение
Я бы настроил ActionListener на ячейку, которая сохраняет значение ячейки в переменной после каждого нажатия клавиши (при условии, что ячейка имеет фокус). Тогда независимо от того, что происходит с окнами, эта переменная все равно будет содержать то, что в данный момент находилось в ячейке. Довольно просто.
Другие советы
// tell JTable to stop editing and save any changes when the table
// loses focus. This means edits will be saved when clicking on
// another component, eg: button.
table.putClientProperty("terminateEditOnFocusLost", Boolean.TRUE);