Как изменить стандартное поведение остановки остановки в jtable

StackOverflow https://stackoverflow.com/questions/1008757

  •  06-07-2019
  •  | 
  •  

Вопрос

Когда вы редактируете ячейку в 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);
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top