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ą:

  1. Interfejsy API Java.
  2. FXML i Kreator scen.
  3. WebView.
  4. Swing interoperacyjności.
  5. Wbudowane kontrolki interfejsu użytkownika i CSS.
  6. Motyw Modena.
  7. Funkcje grafiki 3D.
  8. Canvas API.
  9. Drukowanie API.
  10. Obsługa tekstu sformatowanego.
  11. Obsługa multitouch.
  12. Obsługa Hi-DPI.
  13. Potok grafiki przyspieszany sprzętowo.
  14. Wydajny silnik multimediów.
  15. 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:

  1. Pierwsze launch tworzy nowe wystąpienie klasy Application (w tym przypadku HelloWorld ). Dlatego klasa Application potrzebuje konstruktora bez arg.
  2. init() jest wywoływany w utworzonej instancji Application . W takim przypadku domyślna implementacja z Application nic nie robi.
  3. Appication start jest wywoływane dla instancji aplikacji, a podstawowy Stage (= okno) jest przekazywany do metody. Ta metoda jest automatycznie wywoływana w wątku aplikacji JavaFX (wątek platformy).
  4. 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.
  5. Metoda stop jest wywoływana w instancji Application . W tym przypadku implementacja z Application 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.



Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow