I’m not sure you can. You need to use the GridPane
layout component. In this component, you can specify rows and columns constraints, and in these constraints you can specify a width as a percentage. For example:
<GridPane>
<children>
<TitledPane text="testGridPane" GridPane.columnIndex="0" GridPane.rowIndex="0" />
</children>
<columnConstraints>
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" percentWidth="80.0" prefWidth="100.0" />
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" percentWidth="20.0" prefWidth="100.0" />
</columnConstraints>
<rowConstraints>
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
</rowConstraints>
</GridPane>
This code defines a GridPane
with a first column with a width of 80%. The TitledPane
is set in the first cell of the first column of this GridPane
, and can (because you need to be sure that the width constraints of the TitledPane
match your needs) occupy 80% of the width of the GridPane
.
Please note that I removed all information not relevant to your question. By the way, Oracle’s Scene Builder tool is very useful to define complex FXML layout.