我正在寻找建议,因为我无法制作表单并在场景生成器中设计的TableView底图显示来自可观察列表的数据。我有一个返回ObservableList<ObservableList>的模型,我想将该模型分配给表单控制器中的列(例如id)。这是我的代码:

@FXML
private TableColumn id;


Database database = new Database();
TableView tableView = new TableView();
tableView.setItems(database.returnData()); // --> this is the method returning Observablelist
id = tableView.getColumns().get(0); // --> line with error


并且我收到错误错误:(35,44)java:不兼容的类型:java.lang.Object无法转换为javafx.scene.control.TableColumn

你能帮我使它工作吗?
非常感谢你!

编辑:
如果从数据库中拉出TableView而不是可观察列表,在Controller中将其初始化,然后将@FXML列分配给拉出的Tableview中的列,会更容易吗?如果是,有什么想法吗?感谢您分享的任何帮助或建议。彼得

最佳答案

您需要将表和列链接到FXML定义,还需要创建一个ObservableList并将其放入表中。

@FXML private TableView<SimpleFileProperty> table;
@FXML private TableColumn<SimpleFileProperty, String> sizeCol;
final private ObservableList<SimpleFileProperty> tableData =
                                        FXCollections.observableArrayList();
// ...
table.setItems(tableData);

关于java - Java将可观察列表中的列分配给@fxml列,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29104273/

10-11 15:56