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
launch
wird eine neue Instanz derApplication
Klasse (in diesem FallHelloWorld
) erstellt. DieApplication
Klasse benötigt daher einen No-Arg-Konstruktor. -
init()
wird für die erstellteApplication
aufgerufen. In diesem Fall führt die Standardimplementierung vonApplication
nichts aus. -
start
wird für dieAppication
InstanzAppication
und 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
stop
Methode wird in derApplication
aufgerufen. In diesem Fall führt die Implementierung vonApplication
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.