忍者ブログ

軽Lab

 Javaを中心とした、プログラミング関係のナレッジベース

Home > > EclipseでJavaFX入門(Java17での環境構築)

EclipseでJavaFX入門(Java17での環境構築)

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

Home > > EclipseでJavaFX入門(Java17での環境構築)

- ランダム記事 -

コメント

ただいまコメントを受けつけておりません。

Home > JavaFX入門 > EclipseでJavaFX入門(Java17での環境構築)

EclipseでJavaFX入門(Java17での環境構築)

Java9以降様々なトピックがあった模様のOracle製のJava。Java9以降は商用利用が有償化していたので少し敬遠していたが、なんとJava17以降は再度無償化する(*1)(*2)とのこと。今回は、Java17+JavaFXの環境構築をやってみることにする。


■ JavaFXとは?

JavaFXはJava8でJDKに標準搭載されたクライアントUI(デスクトップアプリ)である。Javaのクライアントでは他にawtやswingがあるが、FXMLによるデザインの分離等、より使いやすいGUIを目指したのがJavaFXとなる。
一方、JDKの小型化を目指したOracleの方針(*3)により、Java11からは標準ライブラリから分離したものの、OpenJDKプロジェクトの主導によりプロジェクトは継続しており、JDKのバージョンアップに合わせてリリースを続けている。2021年現在はJavaFX 17として、外部ライブラリのような形で利用可能となっている。

■ 自己完結型アプリケーションにも対応

Javaのデスクトップアプリのデメリットとして、利用者側にJREのインストールが必要なことがあげられるが、Java8からは自己完結型アプリケーションに変換することでexe形式と同様の扱いができるようになっている。もちろん、JavaFXアプリケーションでも自己完結型アプリケーションを作成できる(*4)。

■ インストール / ダウンロード

まずは事前環境構築として以下をインストール。特に問題はなかったので、詳細は割愛。
  1. Java SE Development Kit 17.0.1
  2. pleiades (Eclipse 2021 PlatForm)

次にJavaFXをダウンロードする。ここから自分の環境に合わせたJavaFX(sdk)をダウンロードして解凍する。(どうやら、Gluonという企業がJava FXの支援を行っている模様で、公式のダウンロードリンクがGluonのページにつながっている)


解凍したファイルはEclipseから参照することになるので、一時的な場所でなく、長期保存する場所に置いておく。(とりあえず、Javaのインストールフォルダに入れておいた)

■ Eclipse設定(プラグインのインストール)

次にeclipse(pleiades)を起動する。
「ヘルプ-新規ソフトウェアのインストール」を開く。


作業対象に「https://download.eclipse.org/releases/2021-09」を入力。 その後、以下のソフトウェアをインストールする。

  1. 「プログラミング言語」の「Eclipse Java 開発ツール」
  2. 「プログラミング言語」の「JavaDoc ヘルプ・フィーチャー」

同様に「http://download.eclipse.org/releases/oxygen」から、以下のソフトウェアをインストールする。

  1. 「一般用ツール」の「e(fx)clipse - IDE」

インストールが終わったら、「ヘルプ-新規ソフトウェアのインストール」の右下のリンク「すでにインストールされている」をクリックして、目的のソフトウェアがインストールが完了したことを確認する。


なお、eclipseの右下のバーに以下のような表示がある場合、インストール中のためしばらく待てばOK。


■ Eclipse設定(インストール済みJDKの関連付け)

「ウィンドウ-設定」にて「Java-インストール済みのJRE」にインストールしたJDKパスを設定する。

■ Eclipse設定(JavaFXライブラリへのパスを定義)

elipcseにダウンロード済みのJavaFXライブラリへのパスを定義します。
「ウィンドウ - 設定」ダイアログを開き、「Java - ビルド・パス - ユーザー・ライブラリ」を選択する。


「新規」ボタンを押下して、ユーザー・ライブラリー名に「JavaFX」と入力して、「OK」ボタンを押下する。


「外部JARの追加」を選択する。



ダウンロード済みのJavaFXの「lib/*.jar」をすべて選択して、「OK」ボタンを押下する。


これで、ユーザ定義した外部JARグループ「JavaFX」が作成されました。

■ プロジェクト作成(ユーザ・ライブラリの関連付け、実行構成)

いよいよプログラミング…の前に、プロジェクトの設定から。 「ファイル - 新規 - プロジェクト」から「JavaFX - JavaFX プロジェクト」を選択。適当なプロジェクト名をつけ、後の設定はデフォルトのままで新規プロジェクト作成。


プロジェクト作成直後は、プロジェクトにJavaFXのライブラリが関連付けられていないため、コンパイルエラーが発生している。このため、作成したプロジェクトに先ほど作成したユーザー・ライブラリ「JavaFX」を関連付ける。

「プロジェクト・エクスプローラー」のプロジェクト名を右クリックして「ビルド・パス - ビルド・パスの構成」を選択する。
「ライブラリー」の「クラスパス」を選択し、「ライブラリーの追加」を押下する。


「ユーザー・ライブラリー」を選択して、「次へ」ボタンを押下。


「JavaFX」にチェックを入れて、「完了」を押下。


この時点でコンパイルエラーが消えます。

最後に、実行時にJavaFXを利用するための実行構成を定義します。プロジェクト名を右クリックして、「実行 - 実行の構成」を選択。


左のリストから「Javaアプリケーション - Main」を選択し、「引数」タブの「VM引数」に以下のように入力。その後、「適用」ボタンを押下してからダイアログを閉じる。

--module-path "(ダウンロードしたJavaFXのlibフォルダへのフルパス)" --add-modules javafx.controls,javafx.fxml

■ 実行

プロジェクトをJavaパースペクティブで開きます。プロジェクト内にsrc/application/Main.javaが作成されており、以下のようなソースがデフォルトで作成されていることがわかります。詳しい説明は次回以降に説明していくが、JavaFXではApplicationクラスを継承したクラスから始まることを覚えておく。

◇サンプルコード
package application;
	
import javafx.application.Application;
import javafx.stage.Stage;
import javafx.scene.Scene;
import javafx.scene.layout.BorderPane;


public class Main extends Application {
	@Override
	public void start(Stage primaryStage) {
		try {
			BorderPane root = new BorderPane();
			Scene scene = new Scene(root,400,400);
			scene.getStylesheets().add(getClass().getResource("application.css").toExternalForm());
			primaryStage.setScene(scene);
			primaryStage.show();
		} catch(Exception e) {
			e.printStackTrace();
		}
	}
	
	public static void main(String[] args) {
		launch(args);
	}
}

まずは何も考えずに実行()すると、ウィンドウが表示される。



改訂履歴
・2021年11月25日 一部改訂。不要なプラグインを削除
- PR -
Home > JavaFX入門 > EclipseでJavaFX入門(Java17での環境構築)

- ランダム記事 -

コメント

ただいまコメントを受けつけておりません。

QRコード

プロフィール

管理者:
連絡はContactよりお願いします。

PR