ロト7の38番

利用に関しては自己責任でお願い致します

ubuntu20.04 LTS で javafx を使う

2021年03月28日 | ubuntu 覚書

この記事は一部内容が古くなっていますのでご注意下さい。
最新記事はこちらに有ります



java のライセンスや難しい話はすっ飛ばして ubuntu で javafx を一度は使ってみたい人は以下のやり方で使えます。(openjdkが入っている事が前提です)

コマンドで

sudo apt install openjfx

でインストール完了。

念の為、以下のコマンドでインストールされた場所を確認

20220203 追記
sudo updatedb (必須です 終了まで少し時間がかかります)
・・・このコマンドを書き忘れていました、すみません(汗)


locate openjfx

ズラズラと一覧が表示される中で

/usr/share/openjfx/lib
/usr/share/openjfx/lib/javafx.base.jar
/usr/share/openjfx/lib/javafx.controls.jar
/usr/share/openjfx/lib/javafx.fxml.jar
/usr/share/openjfx/lib/javafx.graphics.jar
/usr/share/openjfx/lib/javafx.media.jar
/usr/share/openjfx/lib/javafx.properties
/usr/share/openjfx/lib/javafx.swing.jar
/usr/share/openjfx/lib/javafx.web.jar
/usr/share/openjfx/lib/src.zip


の項目がある事を確認しておく。

で、サンプルコードは以下のサイトのものを使って作成します

https://docs.oracle.com/javase/jp/8/javafx/get-started-tutorial/hello_world.htm


<2021.11.06追記>
注意
現在上記のサイトにある 例3-1 Hello Worldのプログラムはコマンドラインでのコンパイルおよび表示ではエラーが出ます。
最初の部分 package helloworld; の一行は不要ですので削除して下さい


vi (付属のテキストエディタ等でも OK) でそこにあるサンプルソースを書いて保存時にそのファイルを「HelloWorld.java」にして保存する。

ここからが少々難しいので注意して下さい

そのサンプルソースがある場所で端末を起動させ、以下のコマンドをまず入力する

export PATH_TO_FX=/usr/share/openjfx/lib

その後、以下のコマンドを入力する

javac --module-path $PATH_TO_FX --add-modules javafx.controls HelloWorld.java

コンパイルが成功したら以下のコマンドで実行する

java --module-path $PATH_TO_FX --add-modules javafx.controls HelloWorld

表示出来れば完成です。



で、開発もしたい人は以下を参照して下さい。

Eclipse での環境下では最低限以下の準備が必要です。( Eclipse 及び e(fx)clipse プラグインのインストールが完了している事が前提条件で話を進めます。)

「ファイル」→「新規」→「その他」で出てきた中で「JavaFX」→「JavaFX プロジェクト」を選択
「プロジェクト名」を「Javafx」として「次へ」を選択
「Java設定」で「ライブラリ」を選択
「外部 JAR の追加」を選択し以下の【外部JAR】を選択して追加する

/usr/share/java の中にあるもの全て

/usr/share/openjfx/lib の中にあるもの全て

その後、「次へ」を選択して最後に

言語を「FXML」、ルートタイプを「javafx.scene.layout.AnchrPane」、ファイル名を「Main」に変更して完了。

上記のサイトからもらったサンプルコードを「 Javafx 」の中にある「 application 」の中にある「 Main.java 」に貼り付ける。

その時以下の文章

public class HelloWorld extends Application から

public class Main extends Application へ書き換える

さらに「 Main.java 」を右クリックをして「実行」から「実行の構成」を選択し「引数」の項目にある VM 引数の項目に

--module-path=/usr/share/openjfx/lib
--add-modules=javafx.controls
--add-exports=javafx.graphics/com.sun.javafx.util=ALL-UNNAMED
--add-exports=javafx.base/com.sun.javafx.reflect=ALL-UNNAMED
--add-exports=javafx.base/com.sun.javafx.beans=ALL-UNNAMED


を追加してから実行。

表示されれば

・・・おつかれ様でした(笑)