Ich habe derzeit ein Problem mit einer CheckBoxTableCell aus der FXML. Ich habe versucht, diesen Code zu FXML konvertieren:Set CheckBoxTableCell in FXML
tableCol.setCellValueFactory(new PropertyValueFactory<Product, Boolean>("property"));
tableCol.setCellFactory(CheckBoxTableCell.forTableColumn(toStockCol));
wo ‚Eigenschaft‘ nur Klasse einige Attribut des ‚Produkt‘ ist (vom Typ ‚boolean‘). Dieser Code funktioniert gut. Ich nun versuchen, dies in der FXML zu setzen, wie folgt aus:
<TableColumn text="Some Col">
<cellValueFactory><PropertyValueFactory property="property" /></cellValueFactory>
<cellFactory><CheckBoxTableCell editable="true" /></cellFactory>
</TableColumn>
Das funktioniert nicht, ich die folgende Fehlermeldung erhalten (das ist ein 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
Ich verstehe nicht, aus was ich falsch mache. Meiner Meinung nach gibt es wenig oder gar keine Dokumentation darüber, wie man eine CheckBox in einem TableView mit FXML setzt.
Hinweis: Ich möchte dies von der FXML einstellen, weil es scheint, der Ort dafür zu sein. Ich weiß, dass dies mit dem FXML-Controller gemacht werden kann. Ich bin auch nur neugierig.
Jede Hilfe wird sehr geschätzt!