【发布时间】:2019-02-14 10:30:44
【问题描述】:
我在 JavaFX 中使用TableView 制作了一个可编辑的表格。现在我想检查输入是否正确。如果错了,我想将单元格的值重置为旧值。
就像我将单元格中的“55”编辑为“160”。我希望在按 Enter 后,“160”消失。我是这样设计的:
public void handle(CellEditEvent event) {
if (groups_list.get(table_persona.getSelectionModel().getSelectedIndex()).getAge() > 100) {
Number a = (Number) event.getNewValue();
((Persona) event.getTableView().getItems().get(
event.getTablePosition().getRow()
)).setAge(a.intValue());
} else {
Number a = groups_list.get(table_persona.getSelectionModel().getSelectedIndex()).getAge();
((Persona) event.getTableView().getItems().get(
event.getTablePosition().getRow()
)).setAge(a.intValue());
error_message_group.textProperty().set("to old");
}
table_groups.setItems(persona_list);
}
但它不起作用。 “160”还在。只有当我再次单击单元格时,“55”才会重新出现。
【问题讨论】:
-
请提供一个minimal reproducible example 来说明问题。与您的问题无关:请学习 java 命名约定并遵守它们
标签: java user-interface javafx