Java Web Start版 Groovy Console をちょっとだけ変えてみた その3
残念ながら 参加はできませんでしたが...
12/20 の JavaFX & GlassFish 合同勉強会 で id:nobeans さんが FxBuilder を使って Groovy から JavaFX を利用する方法を発表されていたのを受けて、Java Web Start 版 Groovy Console でも FxBuilder を利用できるようにしてみました。
id:nobeans さんの発表内容は こちら。
今回の変更点は JNLP ファイルのみ...
Groovy Console 用 JNLP ファイルの resources に JavaFX Runtion の JNLP ファイルと
<extension name="JavaFX Runtime" href="http://dl.javafx.com/1.2/javafx-rt.jnlp" />FxBuilder で必要な JAR ファイル
<jar href="fxbuilder-0.2.jar" /> <jar href="JFXtras-0.5.jar" /> <jar href="miglayout-3.6.3-swing.jar" />を追加しただけ...
※ 実際には他の修正も一緒に行っていますが 今回は省略。詳細は次回以降で...
しかし JNLP の extension 機能はとっても便利ですね。
JavaFX Runtime のように既に公開された JNLP コンポーネントがあれば、何も考えなくても自分のアプリケーションに必要なライブラリを全て取り込んでくれるのです。
Groovy や Griffon も JNLP のコンポーネントとして公開されないのだろうか。
もちろん、この Java Web Start 版 Groovy Console を利用すれば...
面倒な インストール作業なしに
すぐに JavaFX の世界を体験することができます。
「JavaFX を試してみたいけど インストール面倒だし やめとこ...」なんて方には とってもおススメ!!
興味のある方は右下のメニューの Groovy Console の [Launch] ボタンをクリックしてみてください。
注意!!
Groovy Console はオレオレ証明書で署名されており、全ての権限が与えられています。
利用される方はあくまで自己責任で...
あとは こんな感じでコーディングして実行するだけ...
import griffon.builder.fx.*; import javafx.lang.*; import javafx.animation.*; def fx = new griffon.builder.fx.FxBuilder(); def rt = fx.parallelTransition { fx.rotateTransition( duration: Duration.valueOf(3000), interpolator: Interpolator.$LINEAR, byAngle: 360, repeatCount:Timeline.$INDEFINITE ) fx.scaleTransition( duration: Duration.valueOf(3000), interpolator: Interpolator.$LINEAR, fromX: 0.1, fromY: 0.1, toX: 2.0, toY: 2.0, autoReverse: true, repeatCount:Timeline.$INDEFINITE ) }; fx.edt { stage(width: 200, height: 200) { scene { stack (width: 200, height: 200) { text = text(content: "Hello, World.") } button = button( text: "PAUSE", layoutX: 10, layoutY: 10, action: { if (button.text == "PAUSE") { rt.pause(); button.text = "PLAY"; } else { rt.play(); button.text = "PAUSE"; } } ) } } rt.node = text; rt.play(); }
ただ、残念なのは FxBuilder が 最新の JavaFX 1.3 に対応していないってことかな...