Javafx 2 在JavaFX2.2中隐藏标题窗格的标题

Javafx 2 在JavaFX2.2中隐藏标题窗格的标题,javafx-2,javafx,accordion,visibility,titlebar,Javafx 2,Javafx,Accordion,Visibility,Titlebar,A以标题为特征。以下是其中几个的外观: 标题是“更多…”、“微笑”和“发送”。我想完全隐藏发送标题,而不仅仅是删除文本“发送”。最终结果应该是这样的: .titled-pane .content { // styles defined here } 有可能吗?我只会对第三个内容区域使用标准的窗格,而不是标题窗格,并应用相关的样式,诱使JavaFX将底部面板设置为标题窗格的内容区域 粗略地说,您将需要一些类似于以下内容的FXML标记: <VBox styleClass="titled-

A以标题为特征。以下是其中几个的外观:

标题是“更多…”、“微笑”和“发送”。我想完全隐藏发送标题,而不仅仅是删除文本“发送”。最终结果应该是这样的:

.titled-pane .content { // styles defined here }


有可能吗?

我只会对第三个内容区域使用标准的
窗格
,而不是
标题窗格
,并应用相关的样式,诱使JavaFX将底部面板设置为
标题窗格
的内容区域

粗略地说,您将需要一些类似于以下内容的FXML标记:

<VBox styleClass="titled-pane" 
      xmlns:fx="http://javafx.com/fxml/1"  
      xmlns="http://javafx.com/javafx/2.2" >
    <children>
        <TitledPane animated="false" text="untitled">
            <content>
                <AnchorPane minHeight="0.0" 
                            minWidth="0.0" 
                            prefHeight="180.0" 
                            prefWidth="200.0" />
            </content>
        </TitledPane>
        <TitledPane animated="false" text="untitled">
            <content>
                <AnchorPane id="Content" 
                            minHeight="0.0" 
                            minWidth="0.0" 
                            prefHeight="180.0" 
                            prefWidth="200.0" />
            </content>
        </TitledPane>
        <Pane prefHeight="200.0" prefWidth="200.0" styleClass="content">
            <children>
                <Button layoutX="74.0" 
                        layoutY="21.0" 
                        mnemonicParsing="false" 
                        text="Button" />
            </children>
        </Pane>
    </children>
</VBox>
这意味着,如果样式类为“内容”的节点也位于样式类为“标题窗格”的节点内,则样式将仅应用于这些节点

解决此问题的简单方法是为根容器
窗格
(本例中为
VBox
)提供一个“标题窗格”样式类,有效地诱使JavaFX认为第三个窗格是一个
标题窗格
内容区域

其输出如下所示:

两个
标题窗格都已折叠:


您能否澄清:“我想完全隐藏发送标题,而不仅仅是删除文本。”您指的是哪一个“文本”呢?是的。现在有意义了吗?你看,我可以删除箭头,因为我已经做了。如果我取消标题的文本,文本也将被删除。但这个头衔本身将继续存在。所以,我想完全删除它,只留下一个内容窗格,样式与手风琴标题窗格相同。哈哈,我甚至用另一张图片进一步澄清了这个问题。可能是。。。尝试使用Node.lookupAll()方法查找所有节点,这些节点都是标题栏的标题,并将标题节点“Send”的最大高度设置为0?并将focusTraversable设置为false删除标题窗格的标题就像删除ListView的列表一样。你为什么要这么做?你为什么不使用另一个没有标题的窗格,比如StackPane?哇,你的答案正是我需要的。我看你已经成功地使下窗格向上增长,如果两个上标题窗格都折叠。对我来说,这不会发生。然而,我的元素也被包装在一个VBox中。我的VBox是HBox的第二个孩子。还有更多的事情要做,但我不能改变,也不认为我有/应该说我的应用程序行为与你的不同的原因。所以,当我折叠我的两个标题窗格时,中间有一个空白,我的下窗格将无法移动。你知道为什么会这样吗?更确切地说,我的下窗格拒绝增长或扩展超过VBox总高度的50%。可以说,窗格位于下半部分。想象一下,如果你的答案中下方图片中的空白被放在第二个无标题标题标题和“黑客”窗格之间,而不是像现在这样位于窗口底部,那就很难判断,如果看不到你的实际布局。我已经尝试过我的例子嵌套在HBox中,我同意它确实会弄乱布局。我已经使用了三个容器的preferred/max size值和VGrow属性以及VBox来修复它,但您需要进行实验,以使其适用于您的具体场景。我通过将下部窗格的首选高度绑定到所有可用高度,解决了这一问题。然而,手风琴想要一个恰好等于三个标题的首选高度,所以仍然有剩余的空间。我认为这是一个bug,并重新设计了我的应用程序使用三个标题开始。无论如何,谢谢你所做的一切+1这个7年前的答案解决了我隐藏完整标题窗格的问题,因为通常的托管/可见解决方案似乎不起作用。此外,这还允许打开多个窗格。