====== "Hallo Welt" mit Fenster und Knopf ====== 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(); } } 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 ====