Mam obecnie problem z ustawieniem CheckBoxTableCell z FXML. Próbowałem przekonwertować ten kod do FXML:Zestaw CheckBoxTableCell w FXML
tableCol.setCellValueFactory(new PropertyValueFactory<Product, Boolean>("property"));
tableCol.setCellFactory(CheckBoxTableCell.forTableColumn(toStockCol));
gdzie „własność” to tylko niektóre z atrybutów klasy „produkt” (z rodzaju „logiczną”). Ten kod działa poprawnie. I teraz spróbuj ustawić to w FXML, tak:
<TableColumn text="Some Col">
<cellValueFactory><PropertyValueFactory property="property" /></cellValueFactory>
<cellFactory><CheckBoxTableCell editable="true" /></cellFactory>
</TableColumn>
ten nie działa, pojawia się następujący błąd (który jest FXML LoadExeption):
Caused by: java.lang.IllegalArgumentException: Unable to coerce [email protected][styleClass=cell indexed-cell table-cell check-box-table-cell]'null' to interface javafx.util.Callback.
at com.sun.javafx.fxml.BeanAdapter.coerce(BeanAdapter.java:495)
at com.sun.javafx.fxml.BeanAdapter.put(BeanAdapter.java:258)
at com.sun.javafx.fxml.BeanAdapter.put(BeanAdapter.java:54)
at javafx.fxml.FXMLLoader$PropertyElement.set(FXMLLoader.java:1409)
at javafx.fxml.FXMLLoader$ValueElement.processEndElement(FXMLLoader.java:786)
at javafx.fxml.FXMLLoader.processEndElement(FXMLLoader.java:2827)
at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2536)
... 42 more
nie mogę zrozumieć co robię źle. Ponadto, moim zdaniem, istnieje niewielka dokumentacja dotycząca ustawiania CheckBox w TableView z FXML.
Uwaga: Chciałbym ustawić to z FXML, ponieważ wydaje się, że jest to miejsce na to. Wiem, że można to zrobić za pomocą kontrolera FXML. Jestem też ciekawy.
Każda pomoc jest bardzo doceniana!