はじめに
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
も使用するので下記サイトからダウンロード
eclipseの設定 > JAVAFX
から実行可能ファイルにScene Builder
のexeファイルを設定
Java9以降はデフォルトでJavaFxが入っていないのでSDKを下記サイトからダウンロード
環境変数の設定
以下の変数を追加する。
JAVAFX_HOME = JavaFxSDKのインストールディレクトリ\lib
path = JavaFxSDKのインストールディレクトリ\bin
JAVAFXプロジェクトを作成
新規作成からJAVAFXプロジェクトを作成
ビルドパスの構成から
JavaFxSDKのインストールディレクトリ\lib
配下のjar群をclasspathに追加する。
実装
Sample.fxml
をScene Builder
で開く
好きなようにコンポーネントを配置する。
コンポーネントを配置したら、
右側のパネルの以下の項目を設定する。
fixid
→ コンポーネントを.javaで扱う際の変数名
on Action
→ ボタン要素などのクリック時に動作する関数名
eclipseでSampleControloler.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時間くらいかかった。。
疲れたから終了で…(*´Д`)