JavaFX Hello World Beispiel

JavaFX Hello World Beispiel

JavaFX ist eine Reihe von Grafik- und Medienpaketen, mit denen Entwickler Rich-Client-Anwendungen entwerfen, erstellen, testen, debuggen und bereitstellen können, die auf verschiedenen Plattformen konsistent funktionieren.
(Source: Oracle)

Ab JDK 7u6 ist JavaFX in den Standard-JDK- und JRE-Bundles enthalten, wenn Sie eine ältere Java-Installation haben. Aktualisieren oder navigieren Siehere.

Access JavaFX in Eclipse IDE + Java 8
Wenn wir auf die JavaFX-APIs zugreifen, fordert Eclipse standardmäßig dieAccess restriction-Fehler auf. Um dies zu lösen,install e(fx)clipse plugin.

JavaFX in Java 8
In Java 8 ist JavaFX nicht Teil der JavaSE-Ausführungsumgebung, sondern als externe Bibliothek -lib\ext\jfxrt.jar

JavaFX Hallo Welt Beispiel

Ein einfaches Beispiel, in dem wirGridPane verwenden, um die 4Rectangles darzustellen, die den Hintergrund zeichnen, und aBorderPane für dieButton und dieLabel.

JavaFxHelloWorld.java

package com.techfou.helloworld;

import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.geometry.Pos;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.layout.BorderPane;
import javafx.scene.layout.GridPane;
import javafx.scene.layout.StackPane;
import javafx.scene.paint.Color;
import javafx.scene.shape.Rectangle;
import javafx.scene.text.Font;
import javafx.stage.Stage;

public class JavaFxHelloWorld extends Application {

    private int counter = 0;

    public static void main(String[] args) {
        launch();
    }

    @SuppressWarnings("static-access")
    public void start(Stage stage) {
        stage.setTitle("Hello World!");

        GridPane grid = new GridPane();
        grid.setHgap(0);
        grid.setVgap(0);

        Rectangle r1 = new Rectangle();
        r1.setFill(Color.DARKKHAKI);
        r1.setHeight(125);
        r1.setWidth(125);

        Rectangle r2 = new Rectangle();
        r2.setFill(Color.rgb(189, 40, 40));
        r2.setHeight(125);
        r2.setWidth(125);

        Rectangle r3 = new Rectangle();
        r3.setFill(Color.hsb(235, 0.52, 0.36));
        r3.setHeight(125);
        r3.setWidth(125);

        Rectangle r4 = new Rectangle();
        r4.setFill(Color.web("b894cc"));
        r4.setHeight(125);
        r4.setWidth(125);

        grid.add(r1, 0, 0);
        grid.add(r2, 0, 1);
        grid.add(r3, 1, 0);
        grid.add(r4, 1, 1);

        Label l = new Label();
        l.setFont(new Font("Calibri", 15));
        l.setTextFill(Color.BLACK);

        Button button = new Button();
        button.setFont(new Font("Calibri", 15));
        button.setText("Say 'Hello World'");

        button.setOnAction(new EventHandler() {
            public void handle(ActionEvent event) {
                l.setText("You said Hello to the world:
                    " + ++counter + ((counter == 1) ? " time" : " times"));
            }
        });

        BorderPane bp = new BorderPane();
        bp.setBottom(l);
        bp.setAlignment(l, Pos.CENTER);
        bp.setCenter(button);

        StackPane root = new StackPane();
        root.getChildren().add(grid);
        root.getChildren().add(bp);
        stage.setScene(new Scene(root, 250, 250));
        stage.show();

    }

}

Ausgabe:

javafx-helloworld-1

Wenn Sie einmal auf die Schaltfläche „Hallo Welt sagen“ klicken:

javafx-helloworld-2

Wenn Sie mehrmals auf die Schaltfläche „Hallo Welt sagen“ klicken:

javafx-helloworld-3