javafx Samouczek
Rozpoczęcie pracy z javafx
Szukaj…
Uwagi
JavaFX to platforma programowa do tworzenia i dostarczania aplikacji komputerowych, a także bogatych aplikacji internetowych (RIA), które mogą działać na wielu różnych urządzeniach. JavaFX ma zastąpić Swing jako standardową bibliotekę GUI dla Java SE.
IT umożliwia programistom projektowanie, tworzenie, testowanie, debugowanie i wdrażanie bogatych aplikacji klienckich.
Wygląd aplikacji JavaFX można dostosować za pomocą CSS (Cascading Style Sheets) do stylizacji (patrz JavaFX: CSS ) i (F) Pliki XML mogą być używane do tworzenia struktur obiektów ułatwiających tworzenie lub programowanie aplikacji (patrz FXML i kontrolery ) . Scene Builder to edytor wizualny umożliwiający tworzenie plików fxml dla interfejsu użytkownika bez pisania kodu.
Wersje
Wersja | Data wydania |
---|---|
JavaFX 2 | 2011-10-10 |
JavaFX 8 | 18.03.2014 |
Instalacja lub konfiguracja
Interfejsy API JavaFX są dostępne jako w pełni zintegrowana funkcja środowiska Java SE Runtime Environment (JRE) i Java Development Kit (JDK). Ponieważ JDK jest dostępny na wszystkich głównych platformach komputerowych (Windows, Mac OS X i Linux), aplikacje JavaFX skompilowane do JDK 7 i późniejszych również działają na wszystkich głównych platformach komputerowych. Obsługa platform ARM została również udostępniona w JavFX 8. JDK dla ARM obejmuje bazę, elementy graficzne i kontrolne JavaFX.
Aby zainstalować JavaFX, zainstaluj wybraną wersję środowiska Java Runtime i zestawu Java Development Kit .
Funkcje oferowane przez JavaFX obejmują:
- Interfejsy API Java.
- FXML i Kreator scen.
- WebView.
- Swing interoperacyjności.
- Wbudowane kontrolki interfejsu użytkownika i CSS.
- Motyw Modena.
- Funkcje grafiki 3D.
- Canvas API.
- Drukowanie API.
- Obsługa tekstu sformatowanego.
- Obsługa multitouch.
- Obsługa Hi-DPI.
- Potok grafiki przyspieszany sprzętowo.
- Wydajny silnik multimediów.
- Samodzielny model wdrażania aplikacji.
Program Hello World
Poniższy kod tworzy prosty interfejs użytkownika zawierający pojedynczy Button
który po kliknięciu drukuje String
do konsoli.
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);
}
}
Klasa Application
jest punktem wejściowym każdej aplikacji JavaFX. Można uruchomić tylko jedną Application
i odbywa się to za pomocą
Application.launch(HelloWorld.class, args);
Spowoduje to utworzenie instancji klasy Application
przekazanej jako parametr i uruchomienie platformy JavaFX.
Dla programisty ważne jest tutaj:
- Pierwsze
launch
tworzy nowe wystąpienie klasyApplication
(w tym przypadkuHelloWorld
). Dlatego klasaApplication
potrzebuje konstruktora bez arg. -
init()
jest wywoływany w utworzonej instancjiApplication
. W takim przypadku domyślna implementacja zApplication
nic nie robi. -
Appication
start
jest wywoływane dla instancji aplikacji, a podstawowyStage
(= okno) jest przekazywany do metody. Ta metoda jest automatycznie wywoływana w wątku aplikacji JavaFX (wątek platformy). - Aplikacja działa, dopóki platforma nie określi, że nadszedł czas na zamknięcie. W tym przypadku odbywa się to, gdy ostatnie okno jest zamknięte.
- Metoda
stop
jest wywoływana w instancjiApplication
. W tym przypadku implementacja zApplication
nic nie robi. Ta metoda jest automatycznie wywoływana w wątku aplikacji JavaFX (wątek platformy).
W metodzie start
konstruowany jest wykres sceny. W tym przypadku zawiera 2 Node
S: Button
i StackPane
.
Button
reprezentuje przycisk w interfejsie użytkownika, a StackPane
jest pojemnikiem na Button
który określa jego położenie.
Scene
jest tworzona, aby wyświetlić te Node
. Na koniec Scene
jest dodawana do Stage
który jest oknem wyświetlającym cały interfejs użytkownika.