notepad

いろいろ書くメモ帳

IntelliJでScalaFX+FXML環境を構築する

ScalaFXに触ってみようと思ったときに,日本語の資料があまり見当たらなかったので,環境構築の手順をメモしておきます.

環境

JDKのインストール

Scalaを使うのでJDKが必要になる. 入っていない場合は,ダウンロードして適当な場所(/usr/java/とか)に展開する.

Java SE Development Kit 8 - Downloads

IntelliJのインストール

今回はIDEとしてIntelliJをインストールする.NetBeansでも良かったのだが,Scalaプラグインの使い方がよくわからなかった.

  1. まず以下のサイトからCommunity版でいいのでダウンロードする
    www.jetbrains.com

  2. ダウンロードしてきたファイルを適当な場所(/opt/とか)に展開する

  3. 展開されたIntelliJディレクトリ内のbin/idea.shを実行する
  4. このような画面が出るので,初めてIntelliJをインストールする人は下の「I do not have ~」を選択し「OK」をクリック
    f:id:Hatanas:20160730235927p:plain

  5. プライバシーポリシーを読んで「Accept」をクリック
    f:id:Hatanas:20160730235928p:plain

  6. UI Themeは好きなのを選んで「Next」をクリック
    f:id:Hatanas:20160730235929p:plain

  7. チェックするとアプリケーションメニューに表示されるようになる.選んだら「Next」をクリック
    f:id:Hatanas:20160730235930p:plain

  8. チェックするとideaコマンドで起動できるようになる.選んだら「Next」をクリック
    f:id:Hatanas:20160730235931p:plain

  9. 特にこだわりがなければそのまま「Next」をクリック
    f:id:Hatanas:20160730235932p:plain

  10. ここでScalaプラグインをインストールする.終わったら「Start~」をクリック
    f:id:Hatanas:20160730235933p:plain

プロジェクトの設定

IntelliJのプロジェクトを作成し,ScalaFXを使うための設定を行う.

  1. IntelliJを起動して,「Create New Project」をクリック
    f:id:Hatanas:20160730235934p:plain

  2. Scala」→「SBT」を選択し,「Next」をクリック
    f:id:Hatanas:20160730235935p:plain

  3. 適当なプロジェクト名をつけて,「Project SDK」の「New」をクリック
    f:id:Hatanas:20160730235936p:plain

  4. インストールしてあるJDKを選択し,「OK」をクリック
    f:id:Hatanas:20160730235937p:plain

  5. 他の項目はお好みで設定して,「Finish」をクリック
  6. エディターが起動する.初期画面からAlt+1を入力することで左のProject Menuを開くことができる
    f:id:Hatanas:20160730235938p:plain

  7. 右下の表示がおとなしくなるまで待つ
    f:id:Hatanas:20160730235939p:plain

  8. srcディレクトリなどが追加される
    f:id:Hatanas:20160730235940p:plain

SBTの設定

SBTは簡単に言ってしまえばJavaでいうMavenみたいなものである.これを使ってScalaFXとScalaFXMLのライブラリを取得するので,その設定を行う.

  1. プロジェクト内のbuild.sbtファイルを以下のように書き換える

  2. エディタ右上に表示されている「Refresh project」をクリック
    f:id:Hatanas:20160731005202p:plain

  3. 少し待つとライブラリがインストールされる

14行目のエラーが消えないが,特に問題はないので気にしなくて大丈夫なはず.原因不明.

Scene Builderのインストールと設定

FXMLを直書きするのは馬鹿らしいのでScene Builderをインストールする.Oracleバイナリの配布をやめたようなので,Gluonというところからダウンロードしてインストールする.

gluonhq.com

インストールしたら以下の手順でIntelliJでの設定を行う.

  1. メニューバーの「File」→「Settings」を開く
  2. 「Languages & Frameworks」→「JavaFX」の「Path to Scene Builder」にインストールしたScene Builderのパスを指定する
    f:id:Hatanas:20160730235942p:plain

  3. 「OK」をクリック

実際にScalaFXを書く

ここまでで環境構築は完了になる.あとは実際にScalaFXを書いて実行してみる.適当に書いたサンプルプログラムがこちら.

これらのファイルをここに追加する.
f:id:Hatanas:20160731002448p:plain

実行するときは赤枠で囲んだ部分のどちらかを押せば良い.
f:id:Hatanas:20160730235943p:plain

実行するとこんな感じ.
f:id:Hatanas:20160730235944p:plain

おわりに

IntelliJのインストールと一緒にScalaやSBTもインストールされたり,SBTを使うことでライブラリの管理もできるので,環境構築自体は簡単だと思います. ただ,情報が少ないので調べるのが大変です.もっとScalaFX流行らないかなぁ…

何か間違いなどがあればご指摘ください.

参考サイト