JavaFx使ってみた~初級編~


はじめに

Javaで簡単にGUI作成したいなって思ったことがあった。。

JavaでのGUI作成はSwingとかAWTとかJavaFxがあるみたいだが、
Java8以降はSwingよりもJavaFxだぜ的な記載mの見かけたので、最近はJavaFxなんだろうと思う。笑

筆者は安易なので、最近の流れにそってJavaFxを使用します!笑

今回はJavaFxをインストール~簡単なGUI作成(Hello World!!)までの初級編として執筆する。

必要なもの

  • eclipse
  • Scene Builder
  • JavaFxSDK

インストール

まずは、eclipseのマーケットプレースからe(fx)clipseをインストール。

eclipseの再起動を促されるので従って再起動。

続いて、Scene Builderも使用するので下記サイトからダウンロード

Scene Builder

eclipseの設定 > JAVAFX
から実行可能ファイルにScene Builderのexeファイルを設定

Java9以降はデフォルトでJavaFxが入っていないのでSDKを下記サイトからダウンロード

JavaFxSDK

環境変数の設定

以下の変数を追加する。

JAVAFX_HOME = JavaFxSDKのインストールディレクトリ\lib
path = JavaFxSDKのインストールディレクトリ\bin

JAVAFXプロジェクトを作成

新規作成からJAVAFXプロジェクトを作成

ビルドパスの構成から
JavaFxSDKのインストールディレクトリ\lib配下のjar群をclasspathに追加する。

実装

Sample.fxmlScene Builderで開く

好きなようにコンポーネントを配置する。

コンポーネントを配置したら、
右側のパネルの以下の項目を設定する。
fixid → コンポーネントを.javaで扱う際の変数名
on Action → ボタン要素などのクリック時に動作する関数名

eclipseでSampleControloler.javaを実装する。

SampleController.java

package application;

import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.control.TitledPane;

public class SampleController {
    @FXML
    private Button ButtonSample1; // fixidに入力した変数名
    @FXML
    private Label labelSample1;
    @FXML
    private TitledPane titlePane;

    @FXML
    // onAcrtionに記述した関数名
    public void clickBtn(ActionEvent e) {
        labelSample1.setText("Hello JavaFx!");
    }
}


実行

main.javaをアプリケーションとして実行!

おわりに

JavaFxはOpenJDKに標準搭載されていないなど、意外と不便な点も多く感じた。。。

コンポーネントを置くのもなれないとどんなコンポーネントが置かれるのかわからないため、もっと勉強が必要だと感じた。。

なにより、別個でダウンロードしたSDKにpath通すとかある程度プログラミングできて勘の鋭い人じゃないとできないだろう…(知らんけど…)

なんだかんだで環境構築~Hello World!!でおおよそ2時間くらいかかった。。

疲れたから終了で…(*´Д`)