JavaFX 8 on Scala

これは JavaFX Advent Calendar 2013 の21日目のエントリです。

前日は @MulticolorWorld さんの JavaFXアプリケーション製作中に作ったライブラリの話(未完成) でした。

本題

タイトルの通り、ScalaでJavaFX8を使う話です。

JJUG CCC 2013 Fall で発表するため資料作りしてる最中に

ってことがあったので、ちゃんと動かすために調べてみました。

Scalaのバージョン指定

Scalaは2.10.2以降のバージョンを指定する必要があります。

sbtのバージョン指定

sbtは、0.12系だと動作しないので0.13系を指定します。

jfxrt.jarの配備位置の変更対応

sbtでコンパイルする際に、jfxrt.jarがクラスパスに指定されないため、unmanagedJarsに追加しておく必要があります。
当方ではJAVA_HOMEからの相対パスで指定する方式( 参考 )にしていたのですが、JavaFX8ではjfxrt.jarの位置がjre/lib/からjre/lib/ext/に変更になっています。
両方に対応するように修正してみました。

拙作のGiter8テンプレート で対応しているので、参考にして頂ければ。

余談

自前のJavaFXアプリ で動作確認してみたのですが、WebViewはだいぶ良くなってますね。
露骨にもっさりしてたのがだいぶ改善されてるしCSSもいい感じに効くようになってました。

![Tengu on JavaFX8](https://lh6.googleusercontent.com/-cvvMb8vsg8g/UrWEIkSGELI/AAAAAAAAAkY/3sZtCbJZEts/s800/Screenshot_from_"2013-12-21" グリグリ動きますね

最後に

翌日は @kikutaro_ さんの JavaFXのサードパーティ「JFXtras」を触ってみる! #javafx です。