faecher:informatik:oberstufe:java:javafx:halloweltfx:start

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Nächste Überarbeitung
Vorherige Überarbeitung
faecher:informatik:oberstufe:java:javafx:halloweltfx:start [10.03.2020 10:06] – angelegt sbelfaecher:informatik:oberstufe:java:javafx:halloweltfx:start [10.03.2020 11:35] (aktuell) – [Grundlegendes] sbel
Zeile 1: Zeile 1:
 ====== "Hallo Welt" mit Fenster und Knopf ====== ====== "Hallo Welt" mit Fenster und Knopf ======
 +<code java>
 +import javafx.application.*;
 +import javafx.scene.Scene;
 +import javafx.scene.control.Label;
 +import javafx.scene.control.Button;
 +import javafx.scene.layout.*;
 +import javafx.stage.Stage;
 +
 +public class HelloFX extends Application {
 +
 +    @Override
 +    public void start(Stage stage) {
 +        // Button
 +        Button btn = new Button();
 +        btn.setText("Hallo Welt!");
 +        btn.setOnAction( (event) -> Platform.exit() );
 +
 +        // Stackpane "root" 
 +        Pane root = new StackPane();
 +        // Knopf anfügen
 +        root.getChildren().add(btn);
 +
 +        stage.setScene(new Scene(root, 300,150) );
 +        stage.show();
 +    }
 +
 +    public static void main(String[] args) {
 +        launch();
 +    }
 +
 +}
 +</code>
 +
 +Compilieren auf der Kommandozeile mit dem Befehl
 +
 +  javac --module-path /usr/share/openjfx/lib/ --add-modules javafx.controls HelloFX.java
 +
 +Ausführen mit dem Befehl
 +
 +  java --module-path /usr/share/openjfx/lib/ --add-modules javafx.controls HelloFX
 +  
 +===== Erläuterungen =====
 +
 +==== Grundlegendes ====
 +
 +
 +Da steckt jetzt einiges drin.
 +
 +  * Die ersten Zeilen importieren die Klassen der JavaFX Bibliothek, so dass die in der Bibliothek definierten Klassen und Methoden in unserem Programm zur Verfügung stehen.
 +  * Bereits die Klassendefinition für die Klasse ''HelloFX'' bedient sich der **Vererbung**, es handelt sich um eine aus der Klasse ''Application'' **abgeleiteten Klasse**((die in der Bibliothek ''javafx.application'' definiert ist)) die alle Methoden dieser abstrakten Application Klasse erbt.
 +  * Zwei dieser geerbten Methoden sind ''launch'' und ''start''. ''launch'' wird in der main-Methode unseres Programms aufgerufen, damit wird gewissermaßen der JavaFX Steuerprozess aufgerufen, der im Folgenden dann die Methode ''start'' aufruft, die wir aber mit eigenem Code **überschrieben** haben, so dass die von uns gewünschte GUI entsteht. 
 +
 +==== Erzeugen und Anzeigen der GUI-Elemente ====
 +
 +
  
  • faecher/informatik/oberstufe/java/javafx/halloweltfx/start.1583834811.txt.gz
  • Zuletzt geändert: 10.03.2020 10:06
  • von sbel