8

我有一个从 FXML 创建的拆分窗格,它由从左到右的三个窗格组成。我希望能够隐藏最右边的窗格,但我找不到任何东西来隐藏它。如果我关闭可见性,它会隐藏窗格内容。我想要的是暂时隐藏它,因此窗格在视觉上被删除。

作为一种临时解决方法,我将分隔线移动到 100%,但这会使分隔线可见。另一个副作用是,如果我调整主窗口的大小,分隔线不会停留在最右边的位置。

在拆分窗格中隐藏一个窗格的任何提示?

或者关于在不使用拆分窗格的情况下实现此目的的最佳方法的任何提示(最右边的窗格在未隐藏时需要调整大小)。对技术/容器的一般指针将不胜感激,因为我是 Java/JavaFX 的新手,但对编程不熟悉 :)


4

1 回答 1

15

似乎我找到了它,甚至认为这不是简单的隐藏/显示交易。我的拆分窗格被命名为“mainSplitPane”,而我想要隐藏/显示的是第三个。在控制器初始化后,我检索第三个窗格并将其存储在“componentsPane”中。

在控制器类中声明:

Node componentsPane;

在控制器类的初始化方法中调用:

componentsPane=mainSplitPane.getItems().get(2); 

隐藏代码:

mainSplitPane.getItems().remove(componentsPane); 

和代码显示:

mainSplitPane.getItems().add(2, componentsPane); 
mainSplitPane.setDividerPosition(1, 0.8); 

副作用是我必须设置分隔位置,因为它已被删除。

于 2014-12-07T23:08:46.323 回答