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