Ich habe eine GridPane in fxml, die einen Texttitel und 4 Tasten hat. Das GridPane selbst ist zentriert, aber alle Schaltflächen sind innerhalb der Spalte des Rasters ausgerichtet. Ich weiß, wie man die Ausrichtung der Elemente mit Java-Code ändert, aber dies ist nicht die ideale Situation, da ich möchte, dass alle Stile mit FXML und CSS behandelt werden. Kann jemand vorschlagen, wie Elemente einer Zelle in einer GridPane-Ansicht von JavaFX zentriert werden?Center Align Zeilen eines GridPane in JavaFX
Antwort
In FXML:
<GridPane ...>
<columnConstraints>
<!-- one of these for each column: you can obviously have other properties set here if needed -->
<ColumnConstraints halignment="CENTER" />
</columnConstraints>
</GridPane>
Sie müssen jedes Objekt in der GridPane individuell auszurichten, nicht der GridPane selbst.
Um dies zu tun, gehen Sie yo Layout: Objektname (zB Button), und bei HAignment wählen Sie CENTER.
Um ein untergeordnetes Element von GridPane
an der Mitte auszurichten, müssen Sie Halignment und Valignment des untergeordneten Knotens festlegen.
In Java Code, den Sie etwas ähnliches tun:
GridPane.setHalignment(node, HPos.CENTER); // To align horizontally in the cell
GridPane.setValignment(node, VPos.CENTER); // To align vertically in the cell
In FMXL Sie einen ähnlichen Effekt durch erzielen können:
<GridPane>
... // other properties
<children>
<Button mnemonicParsing="false" text="Button" GridPane.halignment="CENTER" GridPane.valignment="CENTER" />
</children>
</GridPane>
einen einfacheren Weg gibt es, dies zu erreichen, wenn Sie wollen Richten Sie alle Knoten einer bestimmten Spalte oder Zeile so aus, dass sie in derselben Reihenfolge ausgerichtet werden. Anstatt dem Knoten einen halignment/valignment
hinzuzufügen, können Sie einen ColumnConstraints oder einen RowConstraints erstellen und sie dem GridPane hinzufügen.
<GridPane>
<columnConstraints>
<ColumnConstraints hgrow="SOMETIMES" halignment="CENTER" minWidth="10.0" prefWidth="100.0" />
... // More constraints for other columns
</columnConstraints>
<children>
<Button mnemonicParsing="false" text="Button" />
</children>
</GridPane>
Sie können auch RowConstraints
hinzufügen.
- 1. JavaFX - Gridpane Wachsen Problem
- 2. Javafx GridPane Kind Ausrichtung
- 3. JavaFX GridPane automatische Dimensionierung
- 4. JavaFX-Ausrichtung von Label in GridPane
- 5. javafx GridPane retrive spezifisch Zelleninhalt
- 6. CSS Align Center
- 7. Align-Center SlidingTabLayout
- 8. Android Align Layout Center
- 9. Winkelmaterial Layout-Align = "Center-Center" funktioniert nicht
- 10. align text-Center mit CSS
- 11. Center Align Zelle Text in Vb.Net DataGridView
- 12. Center Align CAShape Schicht in einer UIView
- 13. html5 entspricht align = "center" in Tabelle TD
- 14. Align Gruppe von DIVs Center Innerhalb eines DIV
- 15. Center align container und left align child elements
- 16. Flexbox - justify-content: center und align-items: center funktioniert nicht?
- 17. JavaFX Wie ändere ich die GridPane Zeilenhöhe programmgesteuert
- 18. JLabel Center-Inhalt in 3 Zeilen
- 19. Wie überschreibe ich td align = "center"?
- 20. Warum funktioniert Center Align nicht über CSS?
- 21. Align Semantic UI Text Menü Center
- 22. Align Header Text Center Asp: GridView
- 23. Center-align background-image einer Eingangstaste
- 24. SVG Circled Text auf TextPath (center align)
- 25. Center align Produktname und Preis auf woocommerce
- 26. Reinigen Sie GridPane in JavaFX und pflegen Sie die Gitterlinie
- 27. JavaFX, Knoten in einem GridPane verschieben mit den Pfeiltasten
- 28. Center Bild in der Gruppe JavaFX
- 29. JavaFX GridPane-Zellen, die den Inhalt nicht automatisch skalieren
- 30. Wie bekomme ich Schaltflächen, um eine Javafx-Gridpane zu füllen?