読者です 読者をやめる 読者になる 読者になる

JavaFX 2.1 のインストール (Linux 編)

JavaFX シリーズ目次

さて、今回は Linux です。

JavaFXLinux 版は JavaFX 2.1 がリリースされる時に Developer Preview が公開されて、今年の年末にリリース予定の JavaFX 2.2 で正式に採用されるはずだったのですが....

うれしいことに予定が早まって、すでに JavaFX 2.1 Developer Preview で Linux 版が公開されています。そこで、JavaFX 2.1 をインストールしていきましょう。

ただし、現在の 2.1b11 では 32bit 版しか公開されていません。Linux を使う人の多くは 64bit を使っていると思うので、そこは注意が必要です。

なお、今回は Ubutu 11.10 に JavaFX をインストールしました。他のディストリビューションだとコマンドなどが異なるかもしれませんが、ご了承ください。

事前準備

JavaFX が 32bit 版しか公開されていないので、64bit Linux を使っている人は事前の準備が必要です。

もし、64bit Linux でも JDK 7 or 6 の 32bit が動作しているのであれば、飛ばしてください。

まず、32bit のバイナリを動かすために、必要なパッケージをインストールしておきます。

$ sudo apt-get install ia32-libs

ia32-libs は 64bit 環境で 32bit のバイナリを動作させるためのランタイムライブラリを集めたパッケージです。

これで 32bit の JDK がインストールできます。

JDK は OpenJDK でもいいと思いますが、ここでは Oracle の JDK を使用しました。

JDK のダウンロードページ から JDK をダウンロードしてください。

ここでは、これを書いている時点での最新版である JDK 7u2 を使用しました。Ubuntu なので RPM ではなく、jdk-7u2-linux-i586.tar.gz ファイルをダウンロードします。

ダウンロードしたら、展開しましょう。

$ sudo tar zxvf jdk-7u2-linux-i586.tar.gz

展開すると、jdk1.7.0_02 ディレクトリが作成されます。ところが、このディレクトリが 32bit 用なのか、64bit 用なのか分からない。櫻庭は 64bit も必要なので、区別できるようにディレクトリ名を変更しています。

もちろん、64bit が必要ない方はそのままでも全然かまわないです。

$ sudo mv jdk1.7.0_02 jdk1.7.0_02_32
$ sudo mv jdk1.7.0_02_32 /usr/lib/jvm

後は update-alternatives で起動する java を設定します。

$ sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.7.0_02_32/bin/java 21
$ sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk1.7.0_02_32/bin/javac 21
$ sudo update-alternatives --install /usr/bin/javaws javaws /usr/lib/jvm/jdk1.7.0_02_32/bin/javaws 21

最後の数字は優先順位なので、適当でいいです。

櫻庭が使用している PC にはすでに 64bit の Java をインストールしてあるので、32bit の Java を起動するように切り替えます。

$ sudo update-alternatives --config java
There are 2 choices for the alternative java (providing /usr/bin/java).

  Selection    Path                                  Priority   Status
------------------------------------------------------------
* 0            /usr/lib/jvm/jdk1.7.0_02_64/bin/java   23        auto mode
  1            /usr/lib/jvm/jdk1.7.0_02_32/bin/java   21        manual mode
  2            /usr/lib/jvm/jdk1.7.0_02_64/bin/java   23        manual mode

Press enter to keep the current choice[*], or type selection number: 

ここで 1 を入力すれば、32bit の java が起動できるようになります。

$ java -version
java version "1.7.0_02"
Java(TM) SE Runtime Environment (build 1.7.0_02-b13)
Java HotSpot(TM) Client VM (build 22.0-b10, mixed mode)

なお、ここでは必要最低限の java, javac, javaws だけ設定しました。必要であれば jconsole や javap などのコマンドも設定してください。

JavaFX 2.1 のインストール

JavaFX 2.1 のインストールといっても、Windows の時とは違って単に展開するだけです。

まずはダウンロードしましょう。JavaFX 2.1 のダウンロードは Windows の場合と同じように、JavaFX 2.0.2 のダウンロードページ にあるリンクをたどっていきます。

f:id:skrb:20120207204244p:image

ダウンロードページの Linux 32-bit (zip) のリンクから SDK をダウンロードを行います。このファイルをダウンロードする時も、Windows の場合と同じく Oracle の認証が必要です。

ついでに JavaFX Samples も Linux 版をダウンロードしておきましょう。

$ ls
javafx_samples-2_1_0-beta-b11-linux-i586-31_jan_2012.zip
javafx_sdk-2_1_0-beta-b11-linux-i586-31_jan_2012.zip

それでは展開しましょう。

$ unzip javafx_sdk-2_1_0-beta-b11-linux-i586-31_jan_2012.zip

展開すると、javafx-sdk2.1.0-beta ディレクトリが作成されます。ディレクトリ構成は Windows 版の SDK と同じで、JavaFX の本体の jfxrt.jar は rt/lib ディレクトリにあります。なので、JavaFX アプリを実行する場合は、ここにクラスパスをはります。

しかし、ランタイムは入っていないので、アプレットを実行することはできません。サンプルにも JAR ファイルがあるだけで、JNLP ファイルや HTML ファイルは含まれていません。

実際に展開してみると...

$ unzip javafx_samples-2_1_0-beta-b11-linux-i586-31_jan_2012.zip
     <<省略>>
$ ls -l javafx-samples-2.1.0-beta/
total 8664
-rw-r--r-- 1 sakuraba sakuraba  723842 2012-01-31 18:02 BrickBreaker.jar
-rw-r--r-- 1 sakuraba sakuraba 8079415 2012-01-31 18:02 Ensemble.jar
-rw-r--r-- 1 sakuraba sakuraba   24607 2012-01-31 18:02 FXML-LoginDemo.jar
drwxr-xr-x 7 sakuraba sakuraba    4096 2012-01-31 18:02 src
-rw-r--r-- 1 sakuraba sakuraba   26863 2012-01-31 18:02 SwingInterop.jar
drwxr-xr-x 2 sakuraba sakuraba    4096 2012-01-31 18:02 web-files

このように JAR ファイルしかありません。まぁ、正式版が出るまでには、どうにかなるでしょう。

ということで、サンプルを実行してみます。

$ java -cp javafx-sdk2.1.0-beta/rt/lib/jfxrt.jar:javafx-samples-2.1.0-beta/Ensemble.jar ensemble.Ensemble2

この Ensemble は JavaFX のグラフィックスの機能を紹介するアプリケーションなので、機能のチェックに使えます。

f:id:skrb:20120210002540p:image


NetBeansJavafX

[追記] NetBeans 7.2 から JavaFX 用の Java プラットフォームを作成しなくても、JavaFX が使えるようになりました。


ついでに NetBeans でも JavaFX を使えるようにしておきましょう。

ちなみに、櫻庭は JavaFX SDK のディレクトリを /usr/lib/jvm にコピーしておいてあります。

NetBeans の設定は Windows の時と同じです。まず JavaFX が使える Java プラットフォームを追加しましょう。Java プラットフォームの設定はツールバーの [Tools] -> [Java Platforms] で行いましょう。

f:id:skrb:20120210004409p:image



プラットフォームの追加には左下の [Add Platforme] ボタンをクリックします。すると、ファイルチューザーが表示されるので、JavaFX を使用する JDK を選択します。

f:id:skrb:20120210010203p:image



[Next] をクリックするとプラットフォーム名を入力する画面に移ります。とりあえず、ここではそのままにしておきます。[Finish] でプラットフォームが登録されます。

[Java Platform Manager] ダイアログに戻って、今作成したプラットフォームの [JavaFX] タブに移動します。

f:id:skrb:20120210010614p:image



[Enable JavaFX] をチェックして、JavaFX SDK の場所を指定します。

f:id:skrb:20120210010759p:image



これで JavaFX を使う準備は整いました。

では、JavaFX のプロジェクトを作成してみましょう。プロジェクトの作成は Windows の場合と同じです。

ここではプロジェクトの種類を [JavaFX Application] として作成します。プロジェクト名などを入力する画面では、[JavaFX Platform] が先ほど作成した JavaFX を使用できる Java プラットフォームであるか確認してください。

f:id:skrb:20120210011339p:image



プロジェクトが生成できたら、実行します。

f:id:skrb:20120210011854p:image



無事、動かすことができました。

では、次回から JavaFX のプログラムの作り方を紹介していきます。