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

时间:2013-10-12 14:20:45

标签: javafx-2 tableview

有许多教程,并且通过扩展JavaFX单元以使其可编辑来实现此目的的许多建议。一个好的是this stackoverflow questionofficial tutorials使用方法调用来创建回调而不编写所有代码,通过调用

lastNameCol.setCellFactory(TextFieldTableCell.forTableColumn());

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

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

// Later at initialization
valuColumn.setCellFactory(TextFieldTableCell.forTableColumn());

编译说:

  

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

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

编辑:我刚刚发现:Javafx TableView can not be edited但是没有解决方案。如何将Callback<TableColumn<Object,...投射到Callback<TableColumn<FormTokens,...

1 个答案:

答案 0 :(得分:13)

为通用参数明确指定确切类型为

valuColumn.setCellFactory(TextFieldTableCell.<FormTokens>forTableColumn());