Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.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 仅在treetableview的子级应用单元工厂_Javafx_Treetableview - Fatal编程技术网

Javafx 仅在treetableview的子级应用单元工厂

Javafx 仅在treetableview的子级应用单元工厂,javafx,treetableview,Javafx,Treetableview,我有一个具有4级层次结构的treetableview。我想要一个以cell factory作为组合框的列。但是这个组合框应该只在最后一个子级可见,而不是在父级可见。这有可能实现吗 编辑:根据收到的建议,我尝试了以下方法 ObservableList ADM = WSData.getADMObjectMapList(); tbAdmMap.setCellFactory(new Callback<TreeTableColumn<ProjectPlan, String>

我有一个具有4级层次结构的treetableview。我想要一个以cell factory作为组合框的列。但是这个组合框应该只在最后一个子级可见,而不是在父级可见。这有可能实现吗

编辑:根据收到的建议,我尝试了以下方法

ObservableList ADM = WSData.getADMObjectMapList();
        tbAdmMap.setCellFactory(new Callback<TreeTableColumn<ProjectPlan, String>, TreeTableCell<ProjectPlan, String>>() {

            @Override
            public TreeTableCell<ProjectPlan, String> call(TreeTableColumn<ProjectPlan, String> param) {
                TreeTableCell<ProjectPlan, String> cell = new TreeTableCell<ProjectPlan, String>() {
                    @Override
                    public void updateItem(String item, boolean empty) {
                        super.updateItem(item, empty);
                        System.out.println(getItem());
                        if (getString().equals("")) {
                            setGraphic(null);
                        } else {
                            ComboBox<String> comboBox = new ComboBox(ADM);
                            comboBox.setValue(item);
                            setGraphic(comboBox);
                        }

                    }

                    private String getString() {
                        return getItem() == null ? "" : getItem();
                    }
                };
                return cell;
            }

        });
observeList ADM=WSData.getADMObjectMapList();
setCellFactory(新回调(){
@凌驾
公共TreeTableCell调用(TreeTableColumn参数){
TreeTableCell=新的TreeTableCell(){
@凌驾
public void updateItem(字符串项,布尔值为空){
super.updateItem(项,空);
System.out.println(getItem());
if(getString().equals(“”){
设置图形(空);
}否则{
ComboBox ComboBox=新的ComboBox(ADM);
comboBox.setValue(项);
设置图形(组合框);
}
}
私有字符串getString(){
返回getItem()==null?”:getItem();
}
};
返回单元;
}
});

它给了我想要的正确的外观,但没有将单元格带入编辑模式。正如在OnCommittedIt中一样,不会调用该方法。

是的,只需将相关逻辑放入
updateItem
方法中即可。请包括一个显示您尝试过的内容的文档。@James\u请查看编辑。我试着按照你的建议在
updateItem
中加入逻辑。到了这个地步。