您好,我们尝试在 tableView 中为我们的组合框使用事件处理程序。但由于某种原因,事件处理程序不会启动。经过长时间的搜索,我们仍然没有找到答案,所以我们很绝望。这是我们的代码:
//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。
我们正在与场景构建器合作,这可能是问题吗?我们在某处读到场景构建器不会更新事件处理程序。如果是这样,我们需要做什么才能使这段代码正常工作?请帮助我们将不胜感激。