Suche…


Bemerkungen

JavaFX ist eine Softwareplattform zum Erstellen und Bereitstellen von Desktopanwendungen sowie Rich-Internet-Anwendungen (RIAs), die auf einer Vielzahl von Geräten ausgeführt werden können. JavaFX soll Swing als Standard-GUI-Bibliothek für Java SE ersetzen.

Mithilfe der IT können Entwickler Rich-Client-Anwendungen entwerfen, erstellen, testen, debuggen und bereitstellen.

Das Erscheinungsbild von JavaFX-Anwendungen kann mithilfe von Cascading Style Sheets (CSS) für das Styling (siehe JavaFX: CSS ) angepasst werden. XML-Dateien (F) können für Objektstrukturen verwendet werden, die das Erstellen oder Entwickeln einer Anwendung erleichtern (siehe FXML und Controller ) . Scene Builder ist ein visueller Editor, mit dem Sie fxml-Dateien für eine Benutzeroberfläche erstellen können, ohne Code schreiben zu müssen.

Versionen

Ausführung Veröffentlichungsdatum
JavaFX 2 2011-10-10
JavaFX 8 2014-03-18

Installation oder Setup

Die JavaFX-APIs sind als vollständig integrierte Funktion der Java SE Runtime Environment (JRE) und des Java Development Kit (JDK) verfügbar. Da das JDK für alle gängigen Desktop-Plattformen (Windows, Mac OS X und Linux) verfügbar ist, können JavaFX-Anwendungen ab JDK 7 und höher auch auf allen wichtigen Desktop-Plattformen kompiliert werden. Unterstützung für ARM-Plattformen wurde auch mit JavaFX 8 bereitgestellt. JDK for ARM umfasst die Basis-, Grafik- und Steuerelementkomponenten von JavaFX.

Um JavaFX zu installieren, installieren Sie Ihre ausgewählte Version der Java Runtime-Umgebung und des Java Development Kit .

Zu den von JavaFX angebotenen Funktionen gehören:

  1. Java-APIs.
  2. FXML und Scene Builder.
  3. WebView.
  4. Swing-Interoperabilität
  5. Eingebaute UI-Steuerelemente und CSS.
  6. Modena-Thema.
  7. 3D-Grafikfunktionen.
  8. Canvas-API.
  9. API drucken.
  10. Rich Text-Unterstützung.
  11. Multitouch-Unterstützung.
  12. Hi-DPI-Unterstützung.
  13. Hardware-beschleunigte Grafikpipeline.
  14. Hochleistungs-Media-Engine.
  15. Eigenständiges Anwendungsbereitstellungsmodell.

Hallo Weltprogramm

Mit dem folgenden Code wird eine einfache Benutzeroberfläche erstellt, die einen einzelnen Button , der beim Klicken einen String an die Konsole druckt.

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Alert;
import javafx.scene.control.Alert.AlertType;
import javafx.scene.control.Button;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;

public class HelloWorld extends Application {

    @Override
    public void start(Stage primaryStage) {
        // create a button with specified text
        Button button = new Button("Say 'Hello World'");

        // set a handler that is executed when the user activates the button
        // e.g. by clicking it or pressing enter while it's focused
        button.setOnAction(e -> {
           //Open information dialog that says hello
           Alert alert = new Alert(AlertType.INFORMATION, "Hello World!?");
           alert.showAndWait();
        });

        // the root of the scene shown in the main window
        StackPane root = new StackPane();

        // add button as child of the root
        root.getChildren().add(button);

        // create a scene specifying the root and the size
        Scene scene = new Scene(root, 500, 300);

        // add scene to the stage
        primaryStage.setScene(scene);

        // make the stage visible
        primaryStage.show();
    }

    public static void main(String[] args) {
        // launch the HelloWorld application.

        // Since this method is a member of the HelloWorld class the first
        // parameter is not required
        Application.launch(HelloWorld.class, args);
    }

}

Die Application Klasse ist der Einstiegspunkt jeder JavaFX-Anwendung. Es kann nur eine Application gestartet werden. Dies erfolgt mit

Application.launch(HelloWorld.class, args);

Dadurch wird eine als Parameter übergebene Instanz der Application Klasse erstellt und die JavaFX-Plattform gestartet.

Folgendes ist für den Programmierer hier wichtig:

  1. Beim ersten launch wird eine neue Instanz der Application Klasse (in diesem Fall HelloWorld ) erstellt. Die Application Klasse benötigt daher einen No-Arg-Konstruktor.
  2. init() wird für die erstellte Application aufgerufen. In diesem Fall führt die Standardimplementierung von Application nichts aus.
  3. start wird für die Appication Instanz Appication und die primäre Stage (= window) wird an die Methode übergeben. Diese Methode wird automatisch im JavaFX-Anwendungsthread (Plattformthread) aufgerufen.
  4. Die Anwendung wird ausgeführt, bis die Plattform feststellt, dass es Zeit ist, herunterzufahren. Dies geschieht, wenn das letzte Fenster in diesem Fall geschlossen wird.
  5. Die stop Methode wird in der Application aufgerufen. In diesem Fall führt die Implementierung von Application nichts aus. Diese Methode wird automatisch im JavaFX-Anwendungsthread (Plattformthread) aufgerufen.

Bei der start wird der Szenengraph erstellt. In diesem Fall enthält es 2 Node s: Ein Button und ein StackPane .

Die Button stellt eine Schaltfläche in der Benutzeroberfläche und der StackPane ist ein Container für die Button , die es Platzierung bestimmt.

Eine Scene wird erstellt, um diese Node anzuzeigen. Schließlich wird die Scene der Stage hinzugefügt, in der die gesamte Benutzeroberfläche angezeigt wird.



Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow