我有一个表格,其可见项目列表通过表格顶部的单选按钮进行过滤。所以我们假设单选按钮是A,B,C - 如果选择A,表格只会显示A类型的项目,如果选择B,它只会显示类型B等。
我为每个选择创建一个单独的TableView实例,因为用户将与表中的这些过滤值进行交互并编辑值等。我的表中每个列都有一个自定义单元工厂,因为需要突出显示行/根据用户输入冻结。
所以:
for (all values A.. C) {
createNewTableView();
}
private void createNewTableView() {
TableView tableView = new TableView();
...
MyCustomCellFactory customCF = new MyCustomCellFactory();
customCF.setTableView(tableView);
clmn1.setCellFactory(customCF);
...
}
我的问题是,当我的自定义单元工厂触发时,即使通过我明确告诉它属于哪个表视图实例,表视图实例也不正确。它始终是我创造的最后一个。我通过检查实例ID来验证这一点。
所以问题是我如何拥有自定义单元工厂的多个表视图实例,并确保我在自定义单元工厂代码中始终采用正确的方式?
谢谢!
答案 0 :(得分:0)
问题实际上与未正确实例化TableView的每个实例的表列有关。我在这里发布了一个更简单的例子 - JavaFX tabbed pane with a table view on each tab? - 并得到了我需要的答案。