javafx Tutorial
Erste Schritte mit Javafx
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:
- Java-APIs.
- FXML und Scene Builder.
- WebView.
- Swing-Interoperabilität
- Eingebaute UI-Steuerelemente und CSS.
- Modena-Thema.
- 3D-Grafikfunktionen.
- Canvas-API.
- API drucken.
- Rich Text-Unterstützung.
- Multitouch-Unterstützung.
- Hi-DPI-Unterstützung.
- Hardware-beschleunigte Grafikpipeline.
- Hochleistungs-Media-Engine.
- 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:
- Beim ersten
launchwird eine neue Instanz derApplicationKlasse (in diesem FallHelloWorld) erstellt. DieApplicationKlasse benötigt daher einen No-Arg-Konstruktor. -
init()wird für die erstellteApplicationaufgerufen. In diesem Fall führt die Standardimplementierung vonApplicationnichts aus. -
startwird für dieAppicationInstanzAppicationund die primäreStage(= window) wird an die Methode übergeben. Diese Methode wird automatisch im JavaFX-Anwendungsthread (Plattformthread) aufgerufen. - 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.
- Die
stopMethode wird in derApplicationaufgerufen. In diesem Fall führt die Implementierung vonApplicationnichts 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.