Ich möchte, dass alle meine Komponenten (TextFields, Labels, etc.) in der Mitte mit fester Größe bleiben. Ich mache es in Szene Builder und es funktioniert, wenn ich die Vorschau sehe, aber wenn ich es starte, bleiben Komponenten nicht in der Mitte, wenn ich die Größe verändere.JavaFX: halte alle Komponenten in der Mitte, auch wenn ich die Größe eines Fensters ändere
Bitte sehen Sie das Bild hier: http://postimg.org/image/r42kvvfbf/
FXML Datei:
<AnchorPane id="AnchorPane" fx:id="root" maxHeight="-1.0" maxWidth="-1.0" minHeight="400.0" minWidth="600.0" prefHeight="-1.0" prefWidth="-1.0" xmlns:fx="http://javafx.com/fxml/1" xmlns="http://javafx.com/javafx/2.2" fx:controller="myController">
<children>
<GridPane alignment="CENTER" prefHeight="-1.0" prefWidth="-1.0" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">
<children>
<VBox alignment="CENTER_LEFT" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="-1.0" prefWidth="-1.0" spacing="10.0" GridPane.columnIndex="0" GridPane.rowIndex="0">
<children>
<Label text="ID number" />
<TextField fx:id="id" maxWidth="-Infinity" minWidth="-Infinity" prefWidth="210.0" promptText="" />
<Label text="Password" />
<TextField fx:id="password" maxWidth="-Infinity" minWidth="-Infinity" prefWidth="210.0" promptText="" />
<HBox id="HBox" alignment="CENTER" spacing="5.0">
<children>
<Button mnemonicParsing="false" onAction="#loginAction" text="Вход" textAlignment="CENTER" textOverrun="ELLIPSIS" />
</children>
</HBox>
</children>
<padding>
<Insets bottom="20.0" left="20.0" right="20.0" top="20.0" />
</padding>
</VBox>
</children>
<columnConstraints>
<ColumnConstraints halignment="CENTER" hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
</columnConstraints>
<rowConstraints>
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
</rowConstraints>
</GridPane>
</children>
</AnchorPane>
Ich habe versucht, StackPane verwenden und nur mit VBox als gut, aber ich kann nicht erreichen, was ich will. Bitte helfen!
Die FXML Datei verhält sich wie wie Sie wollen .. Seien Sie sicher, dass Sie nicht die Benutzeroberfläche Stil in Controller-Klasse zu manipulieren. Stellen Sie außerdem sicher, dass die Version von JavaFX im Scene Builder und beim Starten identisch ist. –