答案 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>
这将创建一个如下窗口:
您会注意到箭头仍在HBox的左侧。为避免这种情况,您可以隐藏默认箭头并在HBox中添加箭头。然后将默认箭头样式添加到刚刚添加的新箭头中。有关详细信息,请查看此帖子 - How to change header component in TitledPane in JavaFX。