tableView onEditCommit中的Java FX comboBox不起作用

时间:2014-04-29 15:12:36

标签: combobox event-handling javafx tablecolumn

您好我们尝试在tableView中为我们的comboBox使用eventhandler。 但由于某种原因,事件处理者不会开始。经过长时间的搜索,我们仍然没有找到答案,所以我们绝望了。 这是我们的代码:

//ComboBoxes in Tableview
   @FXML
    private TableColumn<Presentatie, Dag> dagC;
    dagC.setCellValueFactory(new PropertyValueFactory<Presentatie, Dag>("dag"));
    dagC.setEditable(true);
    dagC.setCellFactory(ComboBoxTableCell.<Presentatie, Dag>forTableColumn(dataD));

    EventHandler<TableColumn.CellEditEvent<Presentatie, Dag>> nameEditHandler = new EventHandler<TableColumn.CellEditEvent<Presentatie, Dag>>() {
        @Override
        public void handle(TableColumn.CellEditEvent<Presentatie, Dag> e) {
            Presentatie p = e.getRowValue();
            Dag newValue = e.getNewValue();
            p.setDag(newValue);
            System.out.println("PLEASE");

        }
    };
    dagC.setOnEditCommit(nameEditHandler);

我们的dataD是FXCollections.observableArrayList。

我们正在与场景建设者合作,这或许是个问题吗?我们在某处读到场景构建器没有更新事件处理程序。如果是这样,我们需要做些什么来使这个代码工作? 请帮忙,我们将非常感激。

1 个答案:

答案 0 :(得分:0)

场景构建器不是问题。出于某种原因,显示值为null的字符串会导致问题。解决方案是使用空null字符串替换""值。