"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

Da steckt jetzt einiges drin.

Die ersten Zeilen importieren die Klassen der JavaFX Bibliothek, so dass Klaenn 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 Klasse1) 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.