Я пишу редактируемую таблицу с помощью JavaFX. Я хочу проверить ввод (например, существует ли такое же значение в таблице / столбце), если проверка не удалась. Я хочу отклонить новое значение. Другими словами, когда пользователь вводит новое значение в ячейку и нажимает клавишу ВВОД, я выполняю свою проверку, и если это не удается, я хочу увидеть в ячейке старое значение.
Мой код очень похож на этот пример http://java-buddy.blogspot.com/2012/04/javafx-2-editable-tableview.html
Я думал, что смогу сделать что-то подобное
colName.setCellFactory(trainerStringCellFactory);
colName.setOnEditCommit(
new EventHandler<TableColumn.CellEditEvent<GymTrainer, String>>() {
public void handle(TableColumn.CellEditEvent<GymTrainer, String> t) {
GymTrainer newTrainer = new GymTrainer(t.getNewValue(), trainer.getSurrname(), trainer.getRateOfPay());
newTrainer.setTrainerId(trainer.getTrainerId());
if ( !updateTrainer(newTrainer) ) {
// Here I would like to replace value in editable cell
}
}
}
});
Кто-нибудь знает, как это сделать, или, может быть, это не место?