2013-10-12 88 views
8

有很多教程,並通過擴展JavaFX單元以使它們可編輯來實現此目的很多建議。一個好的是this stackoverflow question
official tutorials使用方法調用,而無需編寫所有的代碼來創建回調,通過調用如何使JavaFX TableView單元格可編輯?

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,...

回答

13

明確指定的確切類型泛型參數爲

valuColumn.setCellFactory(TextFieldTableCell.<FormTokens>forTableColumn()); 
相關問題