ScalaFX

ScalaFXの設定の仕方を書き直しました。(2013.3.27)
http://d.hatena.ne.jp/hshino/20130327
javafx-and-scala-like-milk-and-cookies

一部APIが変更になっています。
scalafx.stage.Stage => scalafx.application.JFXApp.PrimaryStageなど
以下のようにビルド済みのjarもダウンロード可能になってます。
http://code.google.com/p/scalafx/downloads/list
scalafx_2.9.3-1.0.0-M2.jar ScalaFX 1.0.0-M2 compiled for Scala 2.9.3 Featured
scalafx_2.10-1.0.0-M2.jar ScalaFX 1.0.0-M2 compiled for Scala 2.10 Featured
scalafx_2.9.2-1.0.0-M2.jar ScalaFX 1.0.0-M2 compiled for Scala 2.9.2

という事で以下の記事は古いので参考にしないでください。
scalafxを使える環境を整えたいとおもいます。
試してみるのはMac OS X 10.7.5の環境
JDK7ではJavaFXのjfxrt.jarやdylibをJDKに内蔵しているため内容を修正しました。(2012.7.6)
2012.10.10 Scalaのバージョンがscala-2.9.2になっていたため内容を修正しました。またNetBeans 7.2で動作確認しました。
私が使っているシェルはtcshです
ホームディレクトリに.cshrcがすでにあります

まず全体の手順を考えてみます
1. Scalaのインストール
2. NetBeans IDE 7.2へScala プラグインをインストール
3. Mercurial 1.9.3 for MacOS X 10.7のインストール
4. scalafxのsource checkout
5. NetBeans IDE 7.2でscalafxのnbprojectの構築
6. エラーの対処としてnetbeans.confにSCALA_HOMEの設定
7. buildできたscalafx.jarのscala-2.9.2 libフォルダへの配置(コピー)
8. jfxrt.jarのscala-2.9.2 libフォルダへの配置(コピー
9. scalafx demoのコンパイル、実行

1. Scalaのインストール
これはプログラミング言語Scala 日本語情報サイトがわかりやすいですね
Scalaのインストール
scala-2.9.2.tgzをダウンロード
ホームディレクトリで展開(scala-2.9.2)

Path設定 SCALA_HOME設定(.cshrc)

setenv SCALA_HOME /Users/hshino/scala-2.9.2
setenv PATH ${PATH}:/Users/hshino/scala-2.9.2/bin

定番のHelloWorldをコンパイルし実行してみる

HelloWorld.scala

object HelloWorld {
  def main(args: Array[String]) {
    println("Hello, world!")
  }
}

scalac HelloWorld.scala
scala HelloWorld

.cshrc に .(カレントディレクトリ)の classpath設定があります
setenv CLASSPATH ${CLASSPATH}:.
.(カレントディレクトリ)の classpath設定が無い場合は
scala -cp . HelloWorld
2. NetBeans IDE 7.2へScala プラグインをインストール
nbscala-2.9.x-0.9 - plugin detail
プラグインポータルからプラグインを取得します
プラグインのインストール手順は省略します

3. Mercurial 1.9.3 for MacOS X 10.7のインストール
Mercurial 1.9.3 for MacOS X 10.7のダウンロード
mercurial-1.9.3+20111011-py2.7-macosx10.7.mpkgのインストール
4. scalafxのsource checkout
ターミナルでホームディレクトリにおいて

hg clone https://code.google.com/p/scalafx/

scalafx のサイト

5. NetBeans IDE 7.2でscalafxのnbprojectの構築
scalafxのnbprojectを読み込みbuild
6. エラーの対処としてnetbeans.confにSCALA_HOMEの設定
netbeans.confのある場所

/Applications/NetBeans/NetBeans 7.2.app/Contents/Resources/NetBeans/etc/

ターミナルでviを使って編集するなら
cd "/Applications/NetBeans/NetBeans 7.2.app/Contents/Resources/NetBeans/etc"
vi netbeans.conf

netbeans.confへ追加

SCALA_HOME="/Users/hshino/scala-2.9.2"

netbeans.confのnetbeans_default_optionsに-J-Dscala.home=/Users/hshino/scala-2.9.2を追加
(それぞれの環境に合わせて変更してください)

netbeans_default_optionsに追加後は以下のようになります。

netbeans_default_options="-J-client -J-Xss2m -J-Xms32m -J-XX:PermSize=32m -J-Dapple.laf.useScreenMenuBar=true -J-Dapple.awt.graphics.UseQuartz=true -J-Dsun.java2d.noddraw=true -J-Dscala.home=/Users/hshino/scala-2.9.2"

NetBeansでファイルメニューからプロジェクト プロパティーを選択してLibrariesのjfxrt.jarのリンクを修正する
Java 7にはJavaFXが内蔵されているためリンク切れのjfxrt.jarを削除するだけでいいです。


7. buildできたscalafx.jarのscala-2.9.2 libフォルダへの配置(コピー)
buildがうまくいくとscalafx/distフォルダにscalafx.jarがあります

8. Java 7に内蔵しているjfxrt.jarをscala-2.9.2 libフォルダへコピーしてくださいscala-2.9.2 libフォルダへ配置
ターミナルで
cd /Library/Java/JavaVirtualMachines/jdk1.7.0_07.jdk/Contents/Home/jre/lib
cp jfxrt.jar ~/scala-2.9.2/lib/
(コピー先はそれぞれの環境に合わせてください)
9. scalafx demoのコンパイル
ターミナルでdemoフォルダに移動して
コンパイル
scalac scalafx/*.scala
実行 (区切りはドットですスラッシュは使えません)
scala scalafx.ColorfulCircles
NetBeansならScalaのアプリケーションプロジェクトを作りDemoのソースをコピーしてコンパイル、実行してください。
 scalafx demoの実行
ColorfulCirclesを実行