如何使JavaFX TableView单元格可编辑?

hko*_*sha 8 tableview javafx-2

有很多教程,并且通过扩展JavaFX单元以使它们可编辑来实现这一目标的许多建议.一个好的是这个stackoverflow问题.
官方教程使用方法调用来创建回调,而无需编写所有代码,通过调用

lastNameCol.setCellFactory(TextFieldTableCell.forTableColumn());
Run Code Online (Sandbox Code Playgroud)

但是当我在我的代码中执行此操作时(FormTokens是我的"模型"):

// At beginning of class declaration
@FXML private TableColumn<FormTokens, String> valuColumn;

// Later at initialization
valuColumn.setCellFactory(TextFieldTableCell.forTableColumn());
Run Code Online (Sandbox Code Playgroud)

编译说:

方法setCellFactory( Callback<TableColumn<FormTokens,String>,TableCell<FormTokens,String>>)
在类型TableColumn<FormTokens,String>
中不适用于参数
(Callback<TableColumn<Object,String>,TableCell<Object,String>>)

如果我删除上面提到的方法调用,除了TableView单元格不可编辑外,一切正常.我究竟做错了什么?

编辑:我刚刚发现:Javafx TableView无法编辑但是没有解决方案.我该如何投Callback<TableColumn<Object,...Callback<TableColumn<FormTokens,...

Ulu*_*Biy 14

为泛型参数明确指定确切类型

valuColumn.setCellFactory(TextFieldTableCell.<FormTokens>forTableColumn());
Run Code Online (Sandbox Code Playgroud)