我有一个从FXML创建的splitpane,它由从左到右的三个窗格组成。我希望能够隐藏最右边的窗格,但我找不到任何隐藏它的东西。如果我关闭可见性,它会隐藏窗格内容。我想要的是暂时隐藏它,以便直观地删除窗格。
作为临时解决方法,我将分隔线移动到100%,但这会使分隔线可见。另一个副作用是,如果我调整主窗口的大小,分隔符不会保持在最右边的位置。
有关在splitpane中隐藏一个窗格的任何提示吗?
关于在没有splitpane的情况下实现此目标的最佳方法的任何提示(最右边的窗格在未隐藏时需要调整大小)。由于我是Java / JavaFX的新手而不是编程,因此可以理解技术/容器的一般指示:)
答案 0 :(得分:13)
在controllerclass中声明:
Node componentsPane;
在控制器类的初始化方法中调用:
componentsPane=mainSplitPane.getItems().get(2);
要隐藏的代码:
mainSplitPane.getItems().remove(componentsPane);
以及显示的代码:
mainSplitPane.getItems().add(2, componentsPane);
mainSplitPane.setDividerPosition(1, 0.8);
副作用是我必须设置dividerposition,因为它被删除了。