Table 不显示 javafx 中的所有列
Table does not show all columns in javafx
如果我 运行 程序,那么将在 table 中填写的唯一列将是 "description" 列。不过,如果我单击该行,它会显示应该在 table.
中显示的所有详细信息
这是我写的源代码:
http://pastebin.com/Se3DnxJT
我已尝试使用我找到的示例,但我没有在我的代码中发现问题。
任何人都可以告诉我我做错了什么吗?
您的 cellValueFactory
配置不正确。 PropertyValueFactory
的构造函数接受字段的名称,而不是要在 TableColumn 上显示的文本。所以列的声明应该如下:
TableColumn designIdCol = new TableColumn("Design ID");
designIdCol.setCellValueFactory(new PropertyValueFactory<Design, String>("id"));
TableColumn designNameCol = new TableColumn("Design Name");
designNameCol.setCellValueFactory(new PropertyValueFactory<Design, String>("name"));
TableColumn printsAvailableCol = new TableColumn("Prints Available");
printsAvailableCol.setCellValueFactory(
new PropertyValueFactory<Design, String>("availability"));
TableColumn partDescriptionCol = new TableColumn("Description");
partDescriptionCol.setCellValueFactory(
new PropertyValueFactory<Design, String>("description"));
如果我 运行 程序,那么将在 table 中填写的唯一列将是 "description" 列。不过,如果我单击该行,它会显示应该在 table.
中显示的所有详细信息这是我写的源代码: http://pastebin.com/Se3DnxJT
我已尝试使用我找到的示例,但我没有在我的代码中发现问题。
任何人都可以告诉我我做错了什么吗?
您的 cellValueFactory
配置不正确。 PropertyValueFactory
的构造函数接受字段的名称,而不是要在 TableColumn 上显示的文本。所以列的声明应该如下:
TableColumn designIdCol = new TableColumn("Design ID");
designIdCol.setCellValueFactory(new PropertyValueFactory<Design, String>("id"));
TableColumn designNameCol = new TableColumn("Design Name");
designNameCol.setCellValueFactory(new PropertyValueFactory<Design, String>("name"));
TableColumn printsAvailableCol = new TableColumn("Prints Available");
printsAvailableCol.setCellValueFactory(
new PropertyValueFactory<Design, String>("availability"));
TableColumn partDescriptionCol = new TableColumn("Description");
partDescriptionCol.setCellValueFactory(
new PropertyValueFactory<Design, String>("description"));