Как узнать, что данные ячейки не были изменены или изменены? - PullRequest
0 голосов
/ 30 марта 2012

Я проектирую таблицу, которая позволяет пользователям IN PLACE CELL EDITING т.е. пользователь может редактировать ячейку таблицы на месте.Я хотел бы пометить строку как «Изменить», установив изображение «РЕДАКТИРОВАТЬ» на первую ячейку строки, если какая-либо ячейка этой строки была обновлена ​​или отредактирована.Я добавил CellEditorListener к JTable, но как узнать, что данные ячейки не были изменены или изменены?Когда пользователь завершил редактирование, управление программой привело меня к editStopped (), но как я узнал, что пользователь не обновил какие-либо данные?

CellEditorListener cellEditorListener = new CellEditorListener() {

 public void editingStopped(ChangeEvent e) {
  //If cell has been edited
 }

public void editingCanceled(ChangeEvent e) {
 // If cell has not been updated                        
}
}; 

Я предполагаю, что я получу свой программный элемент управления для editCanceled (), когда пользователь вернется без обновления данных из ячейки.Есть ли другой подход?

Ответы [ 2 ]

2 голосов
/ 30 марта 2012
0 голосов
/ 30 марта 2012

Вы должны сохранить базовое состояние вашего JTable (клонировать модель?), Прежде чем начать вносить изменения.Таким образом, всякий раз, когда ячейка изменяется, вы можете сравнить ее с исходным значением, чтобы увидеть, изменилась она или нет

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