如何在Java 8中正确地使JavaFX TableView可编辑?

时间:2014-10-15 18:00:50

标签: java javafx

我希望用户能够在Java TableView中编辑包含String的单元格。 在我的控制器中,我很简单:

// 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>>

使用户可以点击/双击单元格并修改内容的正确方法是什么?

1 个答案:

答案 0 :(得分:0)

您确定要拨打setCellFactory(...),而不是setCellValueFactory(...)吗?