Griffon10 in groovy_fx
-
Upload
kimukou26-kimukou -
Category
Technology
-
view
4.334 -
download
0
Transcript of Griffon10 in groovy_fx
Griffon 1.0登場 - Grails"インスパイア"アプリケーションフレームワークhttp://news.mynavi.jp/news/2012/06/14/013/index.html
@orange_clover(はてなid:orangeclover) さん
リアル幻獣も叫んだGriffon 1.0が登場したので動か
してみた http://d.hatena.ne.jp/orangeclover/20120610/1339286717
griffonの紹介自体は
● Model・・グローバル変数とか記述
● View ・・表示テンプレート(JSPイメージに近い)
● Controller・・実際のアクション処理を書く
● Service ・・抽象化した共通処理書く
○ 使っている人が少ないようで挙動が微妙な面も
griffonのイメージはこんなもん
View
(ビューテンプ
レート)
Controller(UIアクション処理を記述)
Model(データ保持するところ)
service
(使っている人はほと
んど居ないorz)
@kazuchika(はてなid:ksky) さんJavaFX勉強会でGroovyFXの発表をしましたhttp://d.hatena.ne.jp/ksky/20111113/p1
複雑なアニメーション(GroovyFX版)http://d.hatena.ne.jp/ksky/20120613/p1
複雑なアニメーション(SVG版のGroovyFX版)http://d.hatena.ne.jp/ksky/20120615/p1
groovyFXの紹介記事は
● FxBrowser○ JavaFXのシンプル(?)
なブラウザ実装
● GroovyFxPad○ SwingPadのJavaFX版
ぶっちゃけ機能が
豊富で入門者には厳しめ
Griffon1.0でGroovyFX用Sample(use
JavaFX2.1)追加
● @waman10da(id:waman) さん
● archetype というテンプレート機能を試してみた体験レポート○ 2度目の幻獣 Griffon 研 (1) : JavaFX アプリ
ケーション作成プロジェクト
○ http://d.hatena.ne.jp/waman/20120617/1339912963
できればjavaで書きたいよーの場合は
=>
FXMLをつかいたいよなーという場合には1)griffon-app/resourcesに
FXMLDemo.fxmlをおく
2)XXXXView.groovy上で
(groovy-fx project/FXMLDemo.groovy あたりを参照
bindのやり方は従来のJavaFX20のやり方と同じ)
griffon install-archetype javafx //初回1回でOK
griffon create-app FunctionPlotterFX -archetype=javafx
griffon install-archetype javafx //初回1回でOK
griffon create-app FunctionPlotterFX -archetype=javafx -fileType=java
fxml xml文字列
fxml resource("/FXMLDemo.fxml"), { onMouseEntered { println "Entered"}
}
● 実際のPluginの視点から見ていきましょう
● 実際に使っているPluginは?
○ application.properties というファイルに記述されています
● Pluginのポータルサイト
Griffon自体はGrailsと同じPluginで機
能拡張なので
plugins.groovyfx=0.6plugins.i18n-support=0.2plugins.javafx=0.6
http://artifacts.griffon-framework.org/
純粋なgroovyfxアプリイメージ
wirings ・・タスクバー等の
状態表示処理等の外だし
view クラス
FxBrowserView.groovyfx.browserのコンポネントを
Stageに貼り付けている
viewレイアウトクラス
FxBrowswerの構成メモ的な物
app.toolkit=javafx
src/main/griffon/plugins/ActionManager.java ・・
実行操作をメモっておいて
タスクバーに表示するのを
支援するユーティリティクラス
griffon-app/conf/Events.groovyで
Controller上のAction操作と
関連づけているようですが、
サンプルとしてはかなり技巧的かも
script_Events.groovy ・・実行時に
griffon-app/wiringsのファイルを
コンパイル対象にする処理を記述
&
griffon-app/conf/Application.groovy ・・
mvcGroups { // MVC Group for "fx-browser" 'fx-browser' { // adding a new MVC member is easy
wirings = 'fx.browser.FxBrowserWirings'//DSLで使う為のノード名登録が必要
}
swingアプリケーション
groovyfxのスクリプト自体を再生するプレイヤーなスタンス(archetype.jumpstartをベース)groovyfx pluginのみを導入
groovyfx再生スクリプト自体はgriffon-app/resources/sample フォルダ内にテキストとして入っている
GroovyFxPadの構成メモ的な物
app.toolkit=swing
script/_Events.groovyクラスパスにjfxt.jar を通す記載あり
(でもこの形式だとrun-appしかとおらないような。。)
lib/jfxtras-labs-0.1-SNAPSHOT.jarhttp://jfxtras.org/ で公開されているライブラリ
一部のコンポネントはSwing版で
http://artifacts.griffon-framework.org/plugin/steelとして公開
コンポネント例は)http://harmoniccode.blogspot.jp/
src/main/griffon/plugins/jfxtras/factoryGaugeFactory.groovy・・jfxtrasのclass と Nodeを関連づけしてDSL記述を可能にする為のクラス(Pluginのadd-on.jarで遣っている処理)<単純なのは
registerBeanFactory("altimeter", Altimeter.class)な記述でいけると思うけど。。
griffon-appIdeController.groovy ・・
executeScript(codeSource) でevalでgroovyScriptを実行=>IdeViewのIDにinnerHtmlするようなイメージ(Node.add)