我有这样的代码:
columnNumber.setCellFactory(TextFieldTableCell.<Record>forTableColumn());
columnNumber.setOnEditCommit(
(TableColumn.CellEditEvent<Record, String> t) -> {
((Record) t.getTableView().getItems().get(
t.getTablePosition().getRow())
).setNumber(t.getNewValue());
});
按下Enter按钮后,如果输入非数字,则需要显示一条消息,然后编辑不会被取消,但是输入值会继续..就像那样:
columnNumber.setOnEditCommit(
(TableColumn.CellEditEvent<Record, String> t) -> {
if(!NumberUtils.isNumber(t.getNewValue())){
Alert alert = new Alert(Alert.AlertType.INFORMATION);
alert.setTitle("");
alert.setHeaderText("Error");
alert.setContentText("Please enter the number");
alert.showAndWait();
}else {
((Record) t.getTableView().getItems().get(
t.getTablePosition().getRow())
).setNumber(t.getNewValue());
}
});
但我无法弄清楚如何继续进入。