2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Liberica JDK 11 の JavaFX 11 (OpenJFX) で Hello World する

Last updated at Posted at 2020-03-20

『みんなの Java OpenJDK から始まる大変革期!』を読んでいて、何となく Liberica JDK 11 の JavaFX 11 で Getting Started with JavaFX をやってみたのでメモっとく。

ほとんどの OpenJDK ディストリビューションには JavaFX (OpenJFX) は含まれていない。なので、Getting Started with JavaFX の手順を素直にやるとちょっと手間がかかる。でも、Liberica JDK 11 を SDKMAN! などでインストールすれば簡単に JavaFX 11 で遊べる。

SDKMAN! で Liberica JDK 11 をインストールする

SDKMAN! で Liberica JDK 11 をインストールする。JavaFX が含まれないバージョンもあるので注意する。インストールできる Java バージョンの一覧は sdk list java コマンドで確認できる。

$ sdk install java 11.0.6.fx-librca

Getting Started with JavaFX のコードで Hello World する

HelloFX.java というファイル名で下記のコードを保存する。Java と JavaFX のバージョンを取得して、それを含めた文字列で Label コントロールを生成し StackPane レイアウトに配置して表示しているようだ。

HelloFX.java
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;

public class HelloFX extends Application {

    @Override
    public void start(Stage stage) {
        String javaVersion = System.getProperty("java.version");
        String javafxVersion = System.getProperty("javafx.version");
        Label l = new Label("Hello, JavaFX " + javafxVersion + ", running on Java " + javaVersion + ".");
        Scene scene = new Scene(new StackPane(l), 640, 480);
        stage.setScene(scene);
        stage.show();
    }

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

}

それではコンパイルして、実行してみよう。SDKMAN! で Liberica JDK 11 が設定されていることを必ず確認すること。設定されていなければ sdk use java 11.0.6.fx-librca コマンドを実行してから、下記のコマンドを実行してね。

$ sdk current java
Using java version 11.0.6.fx-librca
$ javac HelloFX.java
$ java HelloFX

こんな画面が表示されたら成功。

Hello, JavaFX 11.0.6, running on Java 11.0.6.

アプリケーションとして配布するとなると考えることは多いけど、社内ツールで簡単な GUI がほしいとかそういうことであれば、Liberica JDK 11 を用いた JavaFX は便利そうだ。


今回は Liberica JDK 11 の JavaFX 11 (OpenJFX) で Hello World してみた。ちゃんとした開発環境を構築するとなると、IntelliJ IDEA と Scene Builder を利用するといいみたい。ちょっと眺めただけなのだが『The Definitive Guide to Modern Java Clients with JavaFX』にそういう開発環境の構築手順が記載されていた。

参考文献

みんなの Java OpenJDK から始まる大変革期!
The Definitive Guide to Modern Java Clients with JavaFX

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?