如何在Java8中正确地使JavaFXTableView可编辑?
我希望用户能够在Java TableView中编辑包含字符串的单元格。 在我的控制器中,我有简单的:如何在Java8中正确地使JavaFXTableView可编辑?,java,javafx,Java,Javafx,我希望用户能够在Java TableView中编辑包含字符串的单元格。 在我的控制器中,我有简单的: // At beginning of class declaration @FXML private TableColumn<FormTokens, String> valuColumn; // Later at initialization valuColumn.setCellFactory(TextFieldTableCell.forTableColumn()); 尝试执行以
// At beginning of class declaration
@FXML private TableColumn<FormTokens, String> valuColumn;
// Later at initialization
valuColumn.setCellFactory(TextFieldTableCell.forTableColumn());
尝试执行以下操作时:
valuColumn.setCellValueFactory(TextFieldTableCell.<FormTokens>forTableColumn());
我得到一个:
Error:(409, 95) java: incompatible types: javafx.util.Callback<javafx.scene.control.TableColumn<sample.FormTokens,java.lang.String>,javafx.scene.control.TableCell<sample.FormTokens,java.lang.String>> cannot be converted to javafx.util.Callback<javafx.scene.control.TableColumn.CellDataFeatures<sample.FormTokens,java.lang.String>,javafx.beans.value.ObservableValue<java.lang.String>>
正确的方法是什么,用户可以单击/双击单元格并修改内容?是否确定您正在调用setCellFactory…,而不是setCellValueFactory…?完成编辑是否会提交编辑?或者需要额外的事件处理程序?IIRC要完成TextFieldTableCell实现中的编辑,用户必须按enter键。此时数据发生的变化在某种程度上取决于模型类FormTokens的设置方式。