<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.geometry.*?>
<?import javafx.scene.control.*?>
<?import javafx.scene.layout.*?>
<?import javafx.scene.text.*?>
<VBox alignment="CENTER" fillWidth="false" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity"
minWidth="-Infinity" style="-fx-background-color: #000000;" xmlns="http://javafx.com/javafx/8.0.111"
xmlns:fx="http://javafx.com/fxml/1">
<children>
<VBox alignment="TOP_CENTER" maxHeight="-Infinity" spacing="10.0" style="-fx-background-color: #9F3325#9F3325;"
VBox.vgrow="ALWAYS">
<children>
<Label text="Sign In" textAlignment="CENTER" textFill="#f2f2f2" VBox.vgrow="ALWAYS">
<font>
<Font size="20.0"/>
</font>
</Label>
<VBox alignment="TOP_CENTER" fillWidth="false" spacing="20.0" VBox.vgrow="ALWAYS">
<children>
<VBox alignment="CENTER_LEFT" VBox.vgrow="ALWAYS">
<children>
<Label prefHeight="31.0" prefWidth="45.0" text="Login" textFill="#f2f2f2"
VBox.vgrow="ALWAYS">
<font>
<Font size="15.0"/>
</font>
</Label>
<TextField fx:id="loginTextField" style="-fx-background-color: #9F3325#9F3325;"
VBox.vgrow="NEVER">
<font>
<Font size="14.0"/>
</font>
<VBox.margin>
<Insets left="10.0"/>
</VBox.margin>
</TextField>
<Separator prefHeight="0.0" prefWidth="394.0">
<VBox.margin>
<Insets left="10.0"/>
</VBox.margin>
</Separator>
</children>
</VBox>
<VBox alignment="CENTER_LEFT" VBox.vgrow="ALWAYS">
<children>
<Label prefHeight="31.0" prefWidth="71.0" text="Password" textFill="#f2f2f2"
VBox.vgrow="ALWAYS">
<font>
<Font size="15.0"/>
</font>
</Label>
<PasswordField fx:id="passwordTextField" style="-fx-background-color: #9F3325#9F3325;"
VBox.vgrow="NEVER">
<VBox.margin>
<Insets left="10.0"/>
</VBox.margin>
</PasswordField>
<Separator prefHeight="0.0" prefWidth="394.0" VBox.vgrow="NEVER">
<VBox.margin>
<Insets left="10.0"/>
</VBox.margin>
</Separator>
</children>
<VBox.margin>
<Insets bottom="20.0"/>
</VBox.margin>
</VBox>
</children>
</VBox>
<Button fx:id="signInButton" maxWidth="261.0" minWidth="50.0" mnemonicParsing="false"
onMouseClicked="#signInButtonAction" prefWidth="261.0" style="-fx-background-color: #F26350;"
text="Sign In" textFill="#f2f2f2" VBox.vgrow="ALWAYS">
<font>
<Font size="15.0"/>
</font>
<VBox.margin>
<Insets/>
</VBox.margin>
</Button>
<Label text="Forgot Password?" textFill="WHITE" underline="true" VBox.vgrow="ALWAYS">
<VBox.margin>
<Insets bottom="10.0" top="100.0"/>
</VBox.margin>
</Label>
</children>
<padding>
<Insets left="10.0" right="10.0" top="20.0"/>
</padding>
</VBox>
</children>
</VBox>
Trochę też zależy co chcesz dokładnie osiągnąć, w powyższym przykładzie jest tak, że całość przy powiększaniu nie zmienia rozmiaru - nie rozjeżdża się. Natomiast, przy zmniejszaniu wszystko się zmniejsza. I też nie jestem jakimś mistrzem w tworzeniu layoutów w JavaFX więc na 100% da się to zrobić lepiej.
Jak coś to pobaw się jeszcze kontenerem GridPane i zobacz też do czego dokładniej służy AnchornPane - bo z nim też można się zabawić w takie coś: https://www.youtube.com/watch?v=dgScLKk1txE