继续编辑TableView的单元格

时间:2018-03-03 18:57:47

标签: javafx

我有这样的代码:

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());
        }
    });

但我无法弄清楚如何继续进入。

0 个答案:

没有答案