JavaFX TableView编辑整数单元格

use*_*est 5 java javafx

在JavaFX的官方文档中编辑数据一个表视图,只有String的例子,在我的程序中我有两个INTEGER列,我用它来编辑它们:选择行,单击按钮,新表单显示,用户之后填写它,点击确定,然后数据更改.现在我想从这里转移到表中的直接输入.如何使用整数列执行此操作.

    TreeTableColumn<RootMaster, Integer> dataColumn = new TreeTableColumn<>(rs.getString("tab.budget.table.column.budgeted"));
    dataColumn.setEditable(true);
    dataColumn.setCellValueFactory(new TreeItemPropertyValueFactory<RootMaster, Integer>("budgetSum"));
    dataColumn.setCellFactory(col -> {
        TreeTableCell<RootMaster, Integer> cell = new TreeTableCell<RootMaster, Integer>() {
            @Override
            public void updateItem(Integer item, boolean empty) {
                super.updateItem(item, empty);
                if (empty) {
                    setText(null);
                } else {
                    setText(item.toString());
                }
            }
        };
        cell.setAlignment(Pos.CENTER);
        return cell;
    });
Run Code Online (Sandbox Code Playgroud)

谢谢

Jam*_*s_D 8

你可以做

dataColumn.setCellFactory(
    TextFieldTreeTableCell.forTreeTableColumn(new IntegerStringConverter()));
Run Code Online (Sandbox Code Playgroud)