JavaFx:如何隐藏CheckBoxTreeItem的值?

时间:2017-03-16 10:07:11

标签: javafx

如何隐藏CheckBoxTreeItem的值?

mfbs.add(new CheckBoxTreeItem<String>(mfb.userId, new Label(mfb.userId + "-"  + mfb.name), true));

Label应该是CheckBoxTreeItem的标题,第一个参数mfb.userId根本不应该出现。

提前致谢

3 个答案:

答案 0 :(得分:0)

我不是Java FX专家,但我使用过Swing API。在我的问题显示之后我的研究是,如果你想让你的TreeItem可见/不可见,你应该添加或删除它。

ng-repeat

修改

如果你只想隐藏物品的价值而不是整个物品的价值,那么你可以做些事情;

  • 将值保存在变量(或数据库或文件中,如果您希望它是持久的)并在需要时使用它。 (之后,您可以在上面应用我的解决方案)
  • 使文本的颜色与背景颜色相同。

答案 1 :(得分:0)

您可以向TreeView添加自定义单元格工厂,以禁用文本:

TreeView<String> treeView;
CheckBoxTreeItem<String> root = new CheckBoxTreeItem<>("Not Visible", new Label("Visible"));
treeView.setRoot(root);
treeView.setCellFactory(e -> new CustomCheckBoxTreeCell());

public class CustomCheckBoxTreeCell extends CheckBoxTreeCell<String>{

    public CustomCheckBoxTreeCell() {}

    @Override
    public void updateItem(String item, boolean empty) {
        super.updateItem(item, empty);
        if(!empty){    
            setText(null);
        }

    }
}

答案 2 :(得分:0)

将此CSS样式应用于您的treeView:

.tree-view, .tree-cell {      
 -fx-text-fill: transparent;
}