FlowPane in JavaFX
In diesem Artikel geht es FlowPane in JavaFX. Dabei handelt es sich um eine Layout Klasse des JavaFX API. Ein Beispiel für einen FlowPane schauen wir uns direkt an.
Anlegen und Verwenden von FlowPane in JavaFX
package application;
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.BorderPane;
import javafx.scene.layout.FlowPane;
import javafx.stage.Stage;
public class Main extends Application {
@Override
public void start(Stage primaryStage) {
try {
BorderPane root = new BorderPane();
Scene scene = new Scene(root,400,400);
FlowPane flowPane = new FlowPane();
// vertikaler Abstand
flowPane.setVgap(6);
// horizontaler Abstand
flowPane.setHgap(3);
// geqwünschte Einschiebungslänge
flowPane.setPrefWrapLength(400);
for (int i = 0; i < 20; i++) {
flowPane.getChildren().add(new Button("Button"));
}
scene.setRoot(flowPane);
primaryStage.setScene(scene);
primaryStage.show();
} catch(Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
launch(args);
}
}
Der FlowPane in JavaFX legt seine Nodes alle schön horizontal nebeneinander, bis er seine gewünschte Breite erreicht hat, dann fügt er das nächste Element darunter an. Die gewünschte Breite kann natürlich “überschrieben” werden, in dem man das Fenster dünner zieht o.ä. Dann ordnen sich die Nodes dementsprechend an.
[image img_id=”6289″ alt=”FlowPane in JavaFX” width=”462″ height=”450″]
Wir können einen FlowPane in JavaFX jedoch auch direkt so anlegen, dass er seine Orientation hat.
// hier setzen wir direkt die Orientation und die VGap und HGap
FlowPane flowPane = new FlowPane(Orientation.VERTICAL, 10,10);
Die FlowPane Klasse hat einige Methoden, schauen wir uns ein paar davon an.
- getAlignement() gibt uns zurück wie der Flowpane die Nodes anordnet
- getColumnHalignment() gibt uns zurück wie die horizontale Anordnung für die Spalten ist
- getHGap() gibt den horizontalen Abstand zurück
- getOrientation() gibt die Orientierung zurück
- getPrefWrapLength() gibt die gewünschte Schmieglänge zurück
- getRowVAlignment() gibt uns zurück wie das vertikale Anordnung für die Zeilen ist
- getVGap() gibt den vertikalen Abstand zurück
- setHGap(double Wert) setzt den horizontalen Abstand
- setOrientation(Orientation Wert) setzt die Orientierung
- setPrefWrapLength(double Wert) setzt die gewünschte Schmieglänge
- setVGap(double Wert) setzt den vorizontalen Abstand