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

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
faecher:informatik:oberstufe:java:javafx:halloweltfx:start [10.03.2020 11:18] sbelfaecher:informatik:oberstufe:java:javafx:halloweltfx:start [10.03.2020 11:35] (aktuell) – [Grundlegendes] sbel
Zeile 2: Zeile 2:
 <code java> <code java>
 import javafx.application.*; import javafx.application.*;
-   import javafx.scene.Scene; +import javafx.scene.Scene; 
-   import javafx.scene.control.Label; +import javafx.scene.control.Label; 
-   import javafx.scene.control.Button; +import javafx.scene.control.Button; 
-   import javafx.scene.layout.*; +import javafx.scene.layout.*; 
-   import javafx.stage.Stage; +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(); +
-       } +
-    +
-   }+
  
 +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> </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.1583839137.txt.gz
  • Zuletzt geändert: 10.03.2020 11:18
  • von sbel