我目前在設置FXML中的CheckBoxTableCell時遇到問題。我試圖將此代碼轉換爲FXML:在FXML中設置CheckBoxTableCell
tableCol.setCellValueFactory(new PropertyValueFactory<Product, Boolean>("property"));
tableCol.setCellFactory(CheckBoxTableCell.forTableColumn(toStockCol));
其中'property'只是'Product'類(來自類型'boolean')的一些屬性。此代碼工作正常。我現在嘗試設置這樣的FXML,就像這樣:
<TableColumn text="Some Col">
<cellValueFactory><PropertyValueFactory property="property" /></cellValueFactory>
<cellFactory><CheckBoxTableCell editable="true" /></cellFactory>
</TableColumn>
這是不行的,我得到以下錯誤(這是一個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
我想不通我做錯了什麼。另外,在我看來,幾乎沒有關於如何使用FXML在TableView中設置CheckBox的文檔。
注:我想從FXML中設置它,因爲它似乎是這個位置。我知道這可以通過FXML控制器完成。另外,我只是好奇。
任何幫助,非常感謝!