Fenster, Window, Frame, Rahmen, Stage, Bühne, etc. – es gibt unzählige Namen für das Objekt meines heutigen Blogbeitrags. In JavaFX verwendet man hauptsächlich den Namen „Stage„. Es bezeichnet das sichtbare „Fenster“ einer JavaFX-Anwendung und für dieses gibt es eine Vielzahl von Einstellungsmöglichkeiten. Neben der Festlegung der Größe zeige ich, wie man ein Icon setzt, den Vollbildmodus aktiviert oder den Titel setzt.
Mit den folgenden Parametern bestimmt man die Größe des Fensters. Früher konnte man noch die Position des Fensters bestimmten.
// groessenanpassung des Benutzers erlauben primaryStage.setResizable(false); // hoehe und breite der Stage festlegen primaryStage.setWidth(800); primaryStage.setHeight(600); // oder min/max festlegen primaryStage.setMaxWidth(800); primaryStage.setMaxHeight(600); primaryStage.setMinWidth(800); primaryStage.setMinHeight(600);
Das Icon wird in Windows XP oben links im Fenster und unten in der Taskleiste angezeigt. Das Bild befindet sich im gleichen Package, wie die Klasse!
// miniicon setzen primaryStage.getIcons().add(new Image(Start.class.getResourceAsStream("logo.jpg")));
Über dieses Thema habe ich schon einen Blogbeitrag geschrieben!
// Vollbildmodus ausschalten (default aus) primaryStage.setFullScreen(false);
// Titel setzen primaryStage.setTitle("AxxG - Stage Beispiel");
// Szene setzen primaryStage.setScene(scene); // Groesse der Stage an Scene anpassen primaryStage.sizeToScene();
package de.axxg.stage; import javafx.application.Application; import javafx.geometry.Insets; import javafx.geometry.Pos; import javafx.scene.Scene; import javafx.scene.control.Button; import javafx.scene.control.Label; import javafx.scene.control.TextField; import javafx.scene.image.Image; import javafx.scene.layout.GridPane; import javafx.scene.layout.HBox; import javafx.scene.text.Font; import javafx.scene.text.FontWeight; import javafx.scene.text.Text; import javafx.stage.Stage; public class Start extends Application { public static void main(String[] args) { launch(args); } @Override public void start(Stage primaryStage) { // +++++++++++++++++++++++++++++++++++++++++++++ // Center // +++++++++++++++++++++++++++++++++++++++++++++ // Layout GridPane grid = new GridPane(); grid.setAlignment(Pos.CENTER); grid.setHgap(10); grid.setVgap(10); grid.setPadding(new Insets(25, 25, 25, 25)); // Ueberschrift Text scenetitle = new Text("Hallo AxxG-Leser"); scenetitle.setFont(Font.font("Tahoma", FontWeight.NORMAL, 20)); grid.add(scenetitle, 0, 0, 2, 1); // Vorname Label vornameLB = new Label("Vorname:"); grid.add(vornameLB, 0, 1); TextField vornameTF = new TextField(); grid.add(vornameTF, 1, 1); // Nachname Label nachnameLB = new Label("Nachname:"); grid.add(nachnameLB, 0, 2); TextField nachnameTF = new TextField(); grid.add(nachnameTF, 1, 2); // Buttons Button addBtn = new Button("eintragen"); Button okBtn = new Button("Alle anzeigen"); // Buttongruppe HBox hbBtn = new HBox(10); hbBtn.setAlignment(Pos.BOTTOM_RIGHT); hbBtn.getChildren().add(addBtn); hbBtn.getChildren().add(okBtn); grid.add(hbBtn, 1, 4); // Szene Scene scene = new Scene(grid); // +++++++++++++++++++++++++++++++++++++++++++++ // Stage konfigurieren // +++++++++++++++++++++++++++++++++++++++++++++ // groessenanpassung erlauben primaryStage.setResizable(false); // hoehe und breite der Stage festlegen primaryStage.setWidth(800); primaryStage.setHeight(600); // oder min/max festlegen primaryStage.setMaxWidth(800); primaryStage.setMaxHeight(600); primaryStage.setMinWidth(800); primaryStage.setMinHeight(600); // miniicon setzen primaryStage.getIcons().add(new Image(Start.class.getResourceAsStream("logo.jpg"))); // Vollbildmodus ausschalten (default aus) primaryStage.setFullScreen(false); // Titel setzen primaryStage.setTitle("AxxG - Stage Beispiel"); // Szene setzen primaryStage.setScene(scene); primaryStage.sizeToScene(); // Stage anzeigen primaryStage.show(); } }
Für Faule gibt es hier ein fertiges Projekt…
Copyright © 2013 AxxG – Alexander Gräsel
Kommentar verfassen