1

我有这个非常基本的代码,仅在选择 CheckMenuItem 时才用于显示选项卡:

    CheckMenuItem toolbarSubMenuNavigation = new CheckMenuItem("Navigation");
    toolbarSubMenuNavigation.setOnAction(new EventHandler<ActionEvent>()
    {
        @Override
        public void handle(ActionEvent e)
        {
            // Show or hide tabs
            System.out.println("subsystem1 #1 Enabled!");
        }
    });

这是选中复选框时我要显示或隐藏的代码:

TabPane tabPane = new TabPane();

Tab tab0 = new Tab("blue");
tab.setContent(new Rectangle(200,200, Color.BLUE));

Tab tab1 = new Tab("green");
tab.setContent(new Rectangle(200,200, Color.GREEN));

tabPane.getTabs().addAll(tab0, tab1);

您能告诉我如何仅在 CheckMenuItem 为真时才显示选项卡吗?我想动态地做到这一点。

4

1 回答 1

3

像这样的东西可以工作

CheckMenuItem item = new CheckMenuItem();
Tab t = new Tab();
t.getGraphic().visibleProperty().bind(item.selectedProperty());

item.selectedProperty() 在检查时为 true,在未检查时为 false,因此如果将其绑定到节点的 visibleProperty(),则在检查项目时它将可见,而在未检查时不可见

于 2013-06-25T11:41:09.070 回答