我有一个具有 4 级层次结构的树表视图。我想要一个单元格工厂作为组合框的列。但是这个组合框应该只在最后一个子级别而不是父级别可见。这有可能实现吗?
编辑:我根据收到的建议尝试了以下操作。
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;
}
});
它给了我想要的正确外观,但没有使单元格进入编辑模式。如 onCommitEdit 方法没有被调用。