Istnieje wiele samouczków, i wiele sugestii, aby osiągnąć ten cel poprzez rozszerzenie komórek JavaFX, aby mogły być edytowalne. Dobry jest this stackoverflow question.
Ale official tutorials używa wywołanie metody do tworzenia zwrotnego bez pisania cały ten kod, nazywającJak można edytować komórki JavaFX TableView?
lastNameCol.setCellFactory(TextFieldTableCell.forTableColumn());
Jednakże gdy zrobić to w moim kodu (FormTokens jest mój „model”):
// At beginning of class declaration
@FXML private TableColumn<FormTokens, String> valuColumn;
// Later at initialization
valuColumn.setCellFactory(TextFieldTableCell.forTableColumn());
Compiler mówi:
Sposób setCellFactory (
Callback<TableColumn<FormTokens,String>,TableCell<FormTokens,String>>)
w rodzajuTableColumn<FormTokens,String>
nie dotyczy argumentów
(Callback<TableColumn<Object,String>,TableCell<Object,String>>)
Jeśli usunąć wywołanie metody wymienione powyżej wszystko działa dobrze, z wyjątkiem, że komórki tableview nie są edytowalne. Co ja robię źle?
edytuj: Właśnie znalazłem: Javafx TableView can not be edited Ale nie ma rozwiązań. Jak obsłużyć Callback<TableColumn<Object,...
do Callback<TableColumn<FormTokens,...
?