IntelliJでScalaFX+FXML環境を構築する
ScalaFXに触ってみようと思ったときに,日本語の資料があまり見当たらなかったので,環境構築の手順をメモしておきます.
環境
- Ubuntu MATE 16.04
JDKのインストール
Scalaを使うのでJDKが必要になる.
入っていない場合は,ダウンロードして適当な場所(/usr/java/
とか)に展開する.
Java SE Development Kit 8 - Downloads
IntelliJのインストール
今回はIDEとしてIntelliJをインストールする.NetBeansでも良かったのだが,Scalaプラグインの使い方がよくわからなかった.
まず以下のサイトからCommunity版でいいのでダウンロードする
www.jetbrains.comダウンロードしてきたファイルを適当な場所(
/opt/
とか)に展開する- 展開されたIntelliJディレクトリ内の
bin/idea.sh
を実行する このような画面が出るので,初めてIntelliJをインストールする人は下の「I do not have ~」を選択し「OK」をクリック
プライバシーポリシーを読んで「Accept」をクリック
UI Themeは好きなのを選んで「Next」をクリック
チェックするとアプリケーションメニューに表示されるようになる.選んだら「Next」をクリック
チェックすると
idea
コマンドで起動できるようになる.選んだら「Next」をクリック
特にこだわりがなければそのまま「Next」をクリック
プロジェクトの設定
IntelliJのプロジェクトを作成し,ScalaFXを使うための設定を行う.
IntelliJを起動して,「Create New Project」をクリック
「Scala」→「SBT」を選択し,「Next」をクリック
適当なプロジェクト名をつけて,「Project SDK」の「New」をクリック
インストールしてあるJDKを選択し,「OK」をクリック
- 他の項目はお好みで設定して,「Finish」をクリック
エディターが起動する.初期画面から
Alt+1
を入力することで左のProject Menuを開くことができる
右下の表示がおとなしくなるまで待つ
srcディレクトリなどが追加される
SBTの設定
SBTは簡単に言ってしまえばJavaでいうMavenみたいなものである.これを使ってScalaFXとScalaFXMLのライブラリを取得するので,その設定を行う.
プロジェクト内の
build.sbt
ファイルを以下のように書き換える
エディタ右上に表示されている「Refresh project」をクリック
少し待つとライブラリがインストールされる
14行目のエラーが消えないが,特に問題はないので気にしなくて大丈夫なはず.原因不明.
Scene Builderのインストールと設定
FXMLを直書きするのは馬鹿らしいのでScene Builderをインストールする.Oracleがバイナリの配布をやめたようなので,Gluonというところからダウンロードしてインストールする.
インストールしたら以下の手順でIntelliJでの設定を行う.
- メニューバーの「File」→「Settings」を開く
「Languages & Frameworks」→「JavaFX」の「Path to Scene Builder」にインストールしたScene Builderのパスを指定する
「OK」をクリック
実際にScalaFXを書く
ここまでで環境構築は完了になる.あとは実際にScalaFXを書いて実行してみる.適当に書いたサンプルプログラムがこちら.
これらのファイルをここに追加する.
実行するときは赤枠で囲んだ部分のどちらかを押せば良い.
実行するとこんな感じ.
おわりに
IntelliJのインストールと一緒にScalaやSBTもインストールされたり,SBTを使うことでライブラリの管理もできるので,環境構築自体は簡単だと思います. ただ,情報が少ないので調べるのが大変です.もっとScalaFX流行らないかなぁ…
何か間違いなどがあればご指摘ください.