3
3

More than 3 years have passed since last update.

Java13におけるJavaFXの環境構築

Last updated at Posted at 2020-01-25

概要

MacBookProを購入したためJavaFXの環境構築をしました。

環境

  • java 13.0.2
  • zsh 5.7.1 (x86_64-apple-darwin19.0.0)
  • MacBook Pro (13-inch, 2017, Four Thunderbolt 3 Ports)

手順

  1. Javaのインストール
  2. JavaFXのインストール
  3. 使いやすくする
    1. PATHを通す
    2. ラップする

Javaのインストール

公式サイトからファイルをダウンロードし、その後インストールします。詳細な指示がサイトに乗っています。

JavaFX

公式サイトのダウンロードページからSDKの方をダウンロードします。そのファイルを、今回は/Library/Java/JavaVirtualMachines/の下で展開しました。

使いやすくする

この状態でも、例えばコンパイルなら

$ javac --module-path /Library/Java/JavaVirtualMachines/javafx-sdk-13.0.2/lib --add-modules=javafx.controls,javafx.fxml *.java

で、実行できます。
でも長すぎるので、もっと使いやすくしましょう。

PATHを通す

まずは途中の/Library/Java/JavaVirtualMachines/javafx-sdk-13.0.2/libにPATHを通します。

PATHを通すには設定ファイルを編集する必要があります。今回はzshなので.zshrcを編集します。

~/.zshrc
export PATH_TO_FX=/Library/Java/JavaVirtualMachines/javafx-sdk-13.0.2/lib

上の一行を一番下に加えました。その後ターミナルを再起動もしくは

$ source ~/.zshrc

をターミナル上で実行することで反映させることができます。PATHが通っているかどうかは

$ echo $PATH_TO_FX

の実行結果が、指定した場所になっているかどうかで確認できます。
ここまでやると、

$ javac --module-path $PATH_TO_FX --add-modules=javafx.controls,javafx.fxml,javafx.media *.java

で実行できるようになります。

ラップする

まだ長いのでラップします。そのためにまずは$HOME/binというディレクトリを用意し、ここにPATHを通すため~/.zshrc

~/.zshrc
export PATH="$PATH:$HOME/bin"

上の一行を加えます。
その後該当ディレクトリに、jfxcjfxの二つのファイルを作製します。

$HOME/bin/jfxc
#!/bin/sh
javac --module-path $PATH_TO_FX --add-modules=javafx.controls,javafx.fxml,javafx.media $@
$HOME/bin/jfxc
#!/bin/sh
java --module-path $PATH_TO_FX --add-modules=javafx.controls,javafx.fxml,javafx.media $@

それぞれ上記のように書き、権限をふっておきます。

$sudo chmod 755 jfxc
$sudo chmod 755 jfx

最後に反映させると実行できるようになります。

$ source ~/.zshrc

実行方法

コンパイル

$ jfxc *.java

実行

$ jfx (ファイル名)

追記

1月26日 Audioclipが使えなかったため一部編集しました

参考

以下の記事を参考にさせていただきました。
Java11でJavaFXを動かす
macでPATHを通す方法
コピペ1分でMacの自作コマンドを作る

3
3
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
3
3