我正在寻找建议,因为我无法制作表单并在场景生成器中设计的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/