为了账号安全,请及时绑定邮箱和手机立即绑定

使用 setItems 方法将数据输入 TableView

使用 setItems 方法将数据输入 TableView

www说 2023-06-04 17:15:02
我正在尝试使用 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)应该在初始化方法中。纠正它。


查看完整回答
反对 回复 2023-06-04
  • 1 回答
  • 0 关注
  • 197 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信