我正在嘗試使用 setItems 方法填充我的 javafx 應用程序 TableView,同時這樣做,我首先定義了我的控制器路徑,方法是fx:"sample.Application"然后我用類名“Products”定義了我的數據模型,其中包含所有必要的構造函數、getter 和 setter。然后我開始編寫我的控制器代碼,我定義了所有必要的 fx:帶有 FXML 注釋的 id,我重寫了顯然沒有給出錯誤的初始化方法,還填充了 TableView 我使用了 ObserverList 并通過使用 observerArrayList 調用了 Products 的構造函數,在最后,當我嘗試使用 setItems() 用 fx:id ="table" 填充 TableView 時,出現錯誤:table.setItems(prodList);錯誤:錯誤:(46, 19) java: 需要標識符 錯誤:(46, 28) java: 需要標識符這是代碼:FXML 代碼:<TableView fx:id="table" GridPane.columnIndex="0" GridPane.columnSpan="2" GridPane.halignment="LEFT" GridPane.rowIndex="3" > <columns> <TableColumn fx:id="col_id" text="PRODUCT ID"/> <TableColumn fx:id="col_name" text="NAME"/> <TableColumn fx:id="col_price" text="PRICE" /> <TableColumn fx:id="col_tax" text="TAX" /> <TableColumn fx:id="col_discount" text="DISCOUNT" /> </columns> </TableView>控制器代碼public class Application implements Initializable { @FXML private TableView<Products> table; @FXML private TableColumn<Products, Integer> col_id; @FXML private TableColumn<Products, String> col_name; @FXML );
1 回答

SMILET
TA貢獻1796條經驗 獲得超4個贊
您尚未在初始化方法中設置屬性值工廠。我認為這是造成問題的原因。
里面什么都沒有PropertyValueFactory<>。你必須按照下面給出的方式設置它 -
col_id.setCellValueFactory(new PropertyValueFactory<Products, Integer>("productId"));
col_name.setCellValueFactory(new PropertyValueFactory<Products, String>("name"));
col_price.setCellValueFactory(new PropertyValueFactory<Products, Integer>("price"));
col_tax.setCellValueFactory(new PropertyValueFactory<Products, Integer>("tax"));
col_discount.setCellValueFactory(new PropertyValueFactory<Products, Integer>("discount"));
另一件事,table.setItems(prodList)應該在初始化方法中。糾正它。
添加回答
舉報
0/150
提交
取消