有很多教程,还有很多建议,可以通过扩展JavaFX单元使其可编辑来实现。好的是this stackoverflow question。
但是official tutorials使用方法调用来创建回调,而无需编写所有代码,方法是:
lastNameCol.setCellFactory(TextFieldTableCell.forTableColumn());
但是,当我在代码中执行此操作时(FormTokens是我的“模型”):
// At beginning of class declaration
@FXML private TableColumn<FormTokens, String> valuColumn;
// Later at initialization
valuColumn.setCellFactory(TextFieldTableCell.forTableColumn());
编译器说:
The method setCellFactory(
Callback<TableColumn<FormTokens,String>,TableCell<FormTokens,String>>)
in the typeTableColumn<FormTokens,String>
is not applicable for the arguments
(Callback<TableColumn<Object,String>,TableCell<Object,String>>)
如果我删除上面提到的方法调用,则所有工作都很好,但TableView单元格不可编辑。我究竟做错了什么?
编辑:我刚刚发现:Javafx TableView can not be edited但是没有解决方案。如何将
Callback<TableColumn<Object,...
转换为Callback<TableColumn<FormTokens,...
?
最佳答案
明确指定通用参数的确切类型为
valuColumn.setCellFactory(TextFieldTableCell.<FormTokens>forTableColumn());
关于javafx-2 - 如何使JavaFX TableView单元格可编辑?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19335196/