Пример JavaFX Hello World
JavaFX - это набор графических и мультимедийных пакетов, которые позволяют разработчикам проектировать, создавать, тестировать, отлаживать и развертывать многофункциональные клиентские приложения, которые согласованно работают на разных платформах.
(Source: Oracle)
Начиная с JDK 7u6 JavaFX включен в стандартные пакеты JDK и JRE, если у вас более старая установка Java, либо обновите, либо перейдите вhere.
Access JavaFX in Eclipse IDE + Java 8
По умолчанию, когда мы обращаемся к API JavaFX, Eclipse запрашивает ошибкиAccess restriction. Чтобы решить эту проблему,install e(fx)clipse
plugin.
JavaFX in Java 8
В Java 8 JavaFX не является частью среды выполнения JavaSE, а является внешней библиотекой -lib\ext\jfxrt.jar
Пример JavaFX Hello world
Простой пример, в котором мы используемGridPane для размещения 4Rectangles, которые рисуют фон, иBorderPane дляButton иLabel.
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();
}
}
Выход:

При однократном нажатии кнопки «Сказать« Hello World »»:

При многократном нажатии кнопки «Сказать« Hello World »»:
