Parece que muchas respuestas ya han sido proporcionados y deben trabajar. Sin embargo , hay una manera de establecer porcentajes:
<fx:define>
<Screen fx:factory="getPrimary" fx:id="screen" />
</fx:define>
Esto ayudaría a detectar las dimensiones de la pantalla actual, se está mostrando en la solicitud. Ahora que tenemos las dimensiones de la pantalla, podemos jugar con él en FXML de la siguiente manera:
<HBox fx:id="hroot" prefHeight="${screen.visualBounds.height}" prefWidth="${screen.visualBounds.width}"> Your FXML elements inside the root... </HBox>
Nota que utilizo visualBounds, ya que esto me conseguiría el espacio disponible en la pantalla, ya no lo hago quiere una superposición con la barra de tareas en Windows, por ejemplo. Para aplicaciones de pantalla completa, simplemente usaría 'límites'.
Ahora, para llegar a su punto de uso de porcentajes, puede jugar con el valor de prefheight y prefWidth. Puede colocar cálculos dentro del $ {}.
Opcionalmente:
Si usted quiere tener todos sus elementos utilizan tamaños relativos, sólo se refieren a ellos, utilizando su ID y la anchura o la altura de la propiedad, y que su cálculo.
<VBox fx:id="VBSidebar" prefWidth="${hroot.width*0.15}" prefHeight="${hroot.height}"> more elements.. </VBox>
Hope this helps!
¿Cómo se configuran las restricciones de columna dentro de SceneBuilder? Estoy usando SceneBuilder 8.1.1, tengo un GridPane con dos columnas, y no puedo encontrar restricciones de columna o percentWidth en ninguna parte. – skrilmps