有很多教程,还有很多建议通过扩展 JavaFX 单元以使其可编辑来实现这一点。一个很好的问题是这个 stackoverflow 问题。
但是官方教程使用方法调用来创建回调,而无需编写所有代码,通过调用
lastNameCol.setCellFactory(TextFieldTableCell.forTableColumn());
但是,当我在我的代码中执行此操作时(FormTokens 是我的“模型”):
// At beginning of class declaration
@FXML private TableColumn<FormTokens, String> valuColumn;
// Later at initialization
valuColumn.setCellFactory(TextFieldTableCell.forTableColumn());
编译器说:
Callback<TableColumn<FormTokens,String>,TableCell<FormTokens,String>>)
类型中的方法 setCellFactory(TableColumn<FormTokens,String>
不适用于参数
(Callback<TableColumn<Object,String>,TableCell<Object,String>>)
如果我删除上面提到的方法调用,除了 TableView 单元格不可编辑之外,一切正常。我究竟做错了什么?
编辑:我刚刚发现这个:Javafx TableView 无法编辑但是没有解决方案。我该如何Callback<TableColumn<Object,...
投到Callback<TableColumn<FormTokens,...
?