Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何实现具有多个表视图和单元工厂的JavaFX表?_Javafx_Tableview - Fatal编程技术网

如何实现具有多个表视图和单元工厂的JavaFX表?

如何实现具有多个表视图和单元工厂的JavaFX表?,javafx,tableview,Javafx,Tableview,我有一个表,它的可见项列表通过表顶部的单选按钮进行过滤。假设单选按钮是A,B,C-如果选择A,表格将只显示A类型的项目,如果选择B,表格将只显示B类型的项目,等等 我为每个选择创建一个单独的TableView实例,因为用户将与表中的这些过滤值进行交互,并编辑值等。我的表中的每个列都有一个自定义单元格工厂,因为需要根据用户输入高亮显示/冻结行 因此: 我的问题是,当我的自定义单元格工厂启动时,即使我明确告诉它属于哪个表视图实例,表视图实例也不是正确的。它总是我最后一次创作的。我通过检查实例id验证

我有一个表,它的可见项列表通过表顶部的单选按钮进行过滤。假设单选按钮是A,B,C-如果选择A,表格将只显示A类型的项目,如果选择B,表格将只显示B类型的项目,等等

我为每个选择创建一个单独的TableView实例,因为用户将与表中的这些过滤值进行交互,并编辑值等。我的表中的每个列都有一个自定义单元格工厂,因为需要根据用户输入高亮显示/冻结行

因此:

我的问题是,当我的自定义单元格工厂启动时,即使我明确告诉它属于哪个表视图实例,表视图实例也不是正确的。它总是我最后一次创作的。我通过检查实例id验证了这一点

所以问题是,我怎样才能拥有多个具有自定义单元格工厂的表视图实例,并确保在自定义单元格工厂代码中始终按正确的表视图实例执行操作


谢谢

问题实际上与没有为TableView的每个实例正确实例化表列有关。我在这里贴了一个更简单的例子,得到了我需要的答案

for (all values A.. C) {
    createNewTableView();
}

private void createNewTableView() {
    TableView tableView = new TableView();

    ...
    MyCustomCellFactory customCF = new MyCustomCellFactory();
    customCF.setTableView(tableView);
    clmn1.setCellFactory(customCF);
    ...
}