如何在TitledPane标题中添加两个窗格?

时间:2016-11-04 21:31:24

标签: java javafx

我想在TitledPane标题中添加两个窗格,就像有绿色和蓝色框的图像一样。

enter image description here

但是当我尝试这样做时,它只允许我在使用场景构建器时将一个窗格添加为ImageView。

1 个答案:

答案 0 :(得分:3)

由于您的问题涉及如何在SceneBuilder中完成此操作,因此我将限制其答案。

您可以将HBox作为图形添加到TitledPane,然后在其中添加所需的节点。

<?import javafx.geometry.Insets?>
<?import javafx.scene.control.Label?>
<?import javafx.scene.control.TitledPane?>
<?import javafx.scene.layout.HBox?>
<?import javafx.scene.shape.Rectangle?>

<TitledPane animated="false" contentDisplay="GRAPHIC_ONLY" prefHeight="227.0" prefWidth="392.0" xmlns="http://javafx.com/javafx/8.0.60" xmlns:fx="http://javafx.com/fxml/1">
   <graphic>
      <HBox alignment="CENTER_LEFT" prefHeight="18.0" prefWidth="605.0" spacing="10.0">
         <children>
            <Rectangle arcHeight="5.0" arcWidth="5.0" fill="#1be440" height="15.0" stroke="BLACK" strokeType="INSIDE" width="13.0" />
            <Label maxWidth="1.7976931348623157E308" text="title" HBox.hgrow="ALWAYS" />
            <Rectangle arcHeight="5.0" arcWidth="5.0" fill="DODGERBLUE" height="15.0" stroke="BLACK" strokeType="INSIDE" width="13.0" />
         </children>
         <padding>
            <Insets right="5.0" />
         </padding>
      </HBox>
   </graphic>
</TitledPane>

这将创建一个如下窗口:

enter image description here

您会注意到箭头仍在HBox的左侧。为避免这种情况,您可以隐藏默认箭头并在HBox中添加箭头。然后将默认箭头样式添加到刚刚添加的新箭头中。有关详细信息,请查看此帖子 - How to change header component in TitledPane in JavaFX