HBox in JavaFX
Dieses Video ist nicht verfügbar
Dieses Video steht nur eingeschriebenen Nutzern zur Verfügung.
Jetzt Kurs kaufen
In diesem Kapitel beschäftigen wir uns mit Layouts, und eines dieser Layouts ist die HBox in JavaFX. Dazu werden wir in den nächsten Artikeln die verschiedenen Layouts sehen und die Unterschiede kennen lernen. Die HBox positioniert ihre Child Nodes horizontal, daher das H im Namen. Sie passt sich dabei der Höhe und Breite ihrer Child nodes an. Sofern die Größe des Parent Node nicht veränderbar ist, nimmt es automatisch die Höhe des höchsten Child Nodes an. Standardmäßig werden die Child Nodes oben links angeordnet.
Du siehst, das Text Field geht bis an den Rand der HBox in JavaFX.
Du siehst, die Hbox versucht verzweifelt alle Elemente in einer Zeile horizontal anzuordnen, koste es was es wolle. Auch wenn dadurch die Buttons nicht mehr leserlich sind.
Wenn du Abstände zwischen Elementen haben möchtest kannst du Padding und Spacing verwenden.
Im nächsten Artikel werden wir uns dann mit der VBox beschäftigen. Diese ermöglicht es uns Elemente Vertikal in die Scene einzubauen.
Beispiel für HBox in JavaFX
package application;
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.TextField;
import javafx.scene.layout.HBox;
import javafx.scene.layout.Priority;
import javafx.stage.Stage;
public class Main extends Application {
@Override
public void start(Stage primaryStage) {
try {
TextField meinTextField = new TextField("Text hier bitte");
HBox hbox = new HBox();
hbox.getChildren().add(meinTextField);
HBox.setHgrow(meinTextField, Priority.ALWAYS);
Scene scene = new Scene(hbox,400,100);
primaryStage.setScene(scene);
primaryStage.show();
} catch(Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
launch(args);
}
}
Die setHgrow() Methode sorgt dafür, dass unser UI Controlls innerhalb der HBox horizontal wachsen. Wir sorgen hier also dafür, dass unser TextField wächst, wenn unsere HBox wächst. Damit erhalten wir folgendes Resultat:

HBox hbox = new HBox();
Button addButton = new Button("mehr");
hbox.getChildren().add(addButton);
addButton.setOnAction(e->{
Button neuerButton = new Button("Button");
hbox.getChildren().add(neuerButton);
});
Mit diesem Code füge ich der Hbox mit jedem Klick auf meinen addButton einen weiteren Button zur hbox. Nachdem ich ein paar mal geklickt habe, ist folgendes passiert:

hbox.setPadding(new Insets(10,10,10,10));
hbox.setSpacing(10.0);

Vorherig
Browser und HTML Editor in JavaFX
Nächste
Vbox
Der Ultimative JavaFX 8 GUI Kurs - Dein Weg zu tollen GUIs
-
Hier starten
-
Lektion1.1
-
Lektion1.2
-
-
Grundlagen
-
Lektion2.1
-
Lektion2.2
-
Lektion2.3
-
Lektion2.4
-
Lektion2.5
-
Lektion2.6
-
Lektion2.7
-
-
Vollgas zur eigenen Benutzeroberfläche mit UI Controls
-
Lektion3.1
-
Lektion3.2
-
Lektion3.3
-
Lektion3.4
-
Lektion3.5
-
Lektion3.6
-
Lektion3.7
-
Lektion3.8
-
Lektion3.9
-
Lektion3.10
-
Lektion3.11
-
Lektion3.12
-
Lektion3.13
-
Lektion3.14
-
Lektion3.15
-
Lektion3.16
-
Lektion3.17
-
Lektion3.18
-
Lektion3.19
-
Lektion3.20
-
-
Layouts
-
Lektion4.1
-
Lektion4.2
-
Lektion4.3
-
Lektion4.4
-
Lektion4.5
-
Lektion4.6
-
Lektion4.7
-
-
Shapes
-
Lektion5.1
-
Lektion5.2
-
Lektion5.3
-
Lektion5.4
-
Lektion5.5
-
Lektion5.6
-
Lektion5.7
-
-
Charts
-
Lektion6.1
-
Lektion6.2
-
Lektion6.3
-
Lektion6.4
-
Lektion6.5Scatter Chart in JavaFX
-
-
Events
-
Lektion7.1
-
Lektion7.2
-
Lektion7.3
-
Lektion7.4
-
-
Audio und Video
-
Lektion8.1
-
Lektion8.2
-
Lektion8.3
-
-
SceneBuilder
-
Lektion9.1
-
Lektion9.2
-
Lektion9.3
-
Beliebte Kurse
Spring Boot Webentwicklung - RESTful APIs entwickeln!
Lerne Spring Boot und erstelle RESTful APIs Das beliebteste Java...
29,99€
Die Java 11 Masterclass - Werde zum Profi-Entwickler!
Werde zum Entwickler mit der Java 11 Masterclass! Starte in...
29,99€
Spiele entwickeln mit Unity 3D – Erstelle eigene Games in C# - Starter
Willkommen zum kostenlosen Teil des Kurses: "Spiele entwickeln mit Unity...
Kostenlos