我正在寻找建议,因为我无法制作我的表单,并在可观察列表的场景构建器显示数据中设计TableView
。我有一个返回ObservableList<ObservableList>
的模型,我想在我的表单的Controller中分配给列(例如,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
我收到错误
Error:(35, 44) java: incompatible types: java.lang.Object cannot be converted to javafx.scene.control.TableColumn你能帮助我让它运作吗? 非常感谢你!
编辑: 如果我从数据库中提取TableView而不是可观察列表,在Controller中启动它然后将@FXML列分配给pull tableview中的列,会更容易吗?如果有,任何想法怎么做?您可以分享的任何帮助或单词的Thx。彼得
答案 0 :(得分:0)
您需要将表格和列与您的FXML定义相关联,还需要创建一个放入表格中的ObservableList
。
@FXML private TableView<SimpleFileProperty> table;
@FXML private TableColumn<SimpleFileProperty, String> sizeCol;
final private ObservableList<SimpleFileProperty> tableData =
FXCollections.observableArrayList();
// ...
table.setItems(tableData);
答案 1 :(得分:0)
好的,只是为了关闭这个。我的问题是返回ObservableList&lt; ObservableList&gt;,更改为ObservableList&lt; myClass&gt;它开始起作用了。我强烈推荐下面提到的教程: