Griffon10 in groovy_fx

4,942 views
4,927 views

Published on

第 7 回 JavaFX 勉強会 (#jjfxug)
Griffon での JavaFX 2.1 利用事例

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
4,942
On SlideShare
0
From Embeds
0
Number of Embeds
3,496
Actions
Shares
0
Downloads
4
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Griffon10 in groovy_fx

  1. 1. Griffon 1.0 での JavaFX 2.1 利用事例 2012/07/02 @kimukou2628
  2. 2. まずおわびをいろいろと調べるだけでほとんどを終わってしまいました。大変申し訳ないです m(ー ー)m
  3. 3. griffonの紹介自体は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
  4. 4. griffonのイメージはこんなもん● Model・・グローバル変数とか記述● View ・・表示テンプレート(JSPイメージに近い)● Controller・・実際のアクション処理を書く● Service ・・抽象化した共通処理書く ○ 使っている人が少ないようで挙動が微妙な面も View Controller Model (ビューテンプ (UIアクション処理を記述) (データ保持 レート) するところ) service (使っている人はほと んど居ないorz)
  5. 5. groovyFXの紹介記事は@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
  6. 6. Griffon1.0でGroovyFX用Sample(useJavaFX2.1)追加● FxBrowser ○ JavaFXのシンプル(?) なブラウザ実装● GroovyFxPad ○ SwingPadのJavaFX版ぶっちゃけ機能が豊富で入門者には厳しめ
  7. 7. ● @waman10da(id:waman) さん● archetype というテンプレート機能を試して みた体験レポート ○ 2度目の幻獣 Griffon 研 (1) : JavaFX アプリ ケーション作成プロジェクト ○ http://d.hatena.ne. jp/waman/20120617/1339912963
  8. 8. できればjavaで書きたいよーの場合は 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=javaFXMLをつかいたいよなーという場合には1)griffon-app/resourcesに FXMLDemo.fxmlをおく fxml xml文字列2)XXXXView.groovy上で fxml resource("/FXMLDemo.fxml"), { onMouseEntered { println "Entered"} } (groovy-fx project/FXMLDemo.groovy あたりを参照 bindのやり方は従来のJavaFX20のやり方と同じ)
  9. 9. <メモ的な物>
  10. 10. Griffon自体はGrailsと同じPluginで機能拡張なので● 実際のPluginの視点から見ていきましょう● 実際に使っているPluginは? ○ application.properties というファイルに記述されています plugins.groovyfx=0.6 plugins.i18n-support=0.2 plugins.javafx=0.6● Pluginのポータルサイト http://artifacts.griffon-framework.org/
  11. 11. FxBrowswerの構成メモ的な物 純粋なgroovyfxアプリイメージ app.toolkit=javafx wirings ・・タスクバー等の 状態表示処理等の外だし view クラス FxBrowserView.groovy fx.browserのコンポネントを Stageに貼り付けている viewレイアウトクラス
  12. 12. src/main/griffon/plugins/ ActionManager.java ・・ 実行操作をメモっておいて タスクバーに表示するのを 支援するユーティリティクラス griffon-app/conf/Events.groovyで Controller上のAction操作と 関連づけているようですが、 サンプルとしてはかなり技巧的かも
  13. 13. 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で使う為のノード名登録が必要 }
  14. 14. GroovyFxPadの構成メモ的な物 swingアプリケーション app.toolkit=swing groovyfxのスクリプト自体を再生する プレイヤーなスタンス (archetype.jumpstartをベース) groovyfx pluginのみを導入 groovyfx再生スクリプト自体は griffon-app/resources/sample フォルダ内にテキストとして入っている
  15. 15. script/_Events.groovy クラスパスにjfxt.jar を通す記載あり(でもこの形式だとrun-appしかとおらないような。。)lib/jfxtras-labs-0.1-SNAPSHOT.jar http://jfxtras.org/ で公開されているライブラリ 一部のコンポネントはSwing版でhttp://artifacts.griffon-framework.org/plugin/steel として公開コンポネント例は) http://harmoniccode.blogspot.jp/
  16. 16. src/main/griffon/plugins/jfxtras/factory GaugeFactory.groovy ・・ jfxtrasのclass と Nodeを関連づけして DSL記述を可能にする為のクラス (Pluginのadd-on.jarで遣っている処理) <単純なのは registerBeanFactory("altimeter", Altimeter.class) な記述でいけると思うけど。。griffon-app IdeController.groovy ・・ executeScript(codeSource) でevalでgroovyScriptを実行=> IdeViewのIDにinnerHtml するようなイメージ(Node.add)
  17. 17. NetBeansの新規プロジェクトに JavaFX in Swingというのがあるらしいので連携できるといい感じなのかなと(ただどういう作りで作っているんだろう?)

×