Your SlideShare is downloading. ×
Griffon10 in groovy_fx
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Griffon10 in groovy_fx

4,240
views

Published on

第 7 回 JavaFX 勉強会 (#jjfxug) …

第 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,240
On Slideshare
0
From Embeds
0
Number of Embeds
7
Actions
Shares
0
Downloads
3
Comments
0
Likes
2
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Griffon 1.0 での JavaFX 2.1 利用事例 2012/07/02 @kimukou2628
  • 2. まずおわびをいろいろと調べるだけでほとんどを終わってしまいました。大変申し訳ないです m(ー ー)m
  • 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. griffonのイメージはこんなもん● Model・・グローバル変数とか記述● View ・・表示テンプレート(JSPイメージに近い)● Controller・・実際のアクション処理を書く● Service ・・抽象化した共通処理書く ○ 使っている人が少ないようで挙動が微妙な面も View Controller Model (ビューテンプ (UIアクション処理を記述) (データ保持 レート) するところ) service (使っている人はほと んど居ないorz)
  • 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. Griffon1.0でGroovyFX用Sample(useJavaFX2.1)追加● FxBrowser ○ JavaFXのシンプル(?) なブラウザ実装● GroovyFxPad ○ SwingPadのJavaFX版ぶっちゃけ機能が豊富で入門者には厳しめ
  • 7. ● @waman10da(id:waman) さん● archetype というテンプレート機能を試して みた体験レポート ○ 2度目の幻獣 Griffon 研 (1) : JavaFX アプリ ケーション作成プロジェクト ○ http://d.hatena.ne. jp/waman/20120617/1339912963
  • 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. <メモ的な物>
  • 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. FxBrowswerの構成メモ的な物 純粋なgroovyfxアプリイメージ app.toolkit=javafx wirings ・・タスクバー等の 状態表示処理等の外だし view クラス FxBrowserView.groovy fx.browserのコンポネントを Stageに貼り付けている viewレイアウトクラス
  • 12. src/main/griffon/plugins/ ActionManager.java ・・ 実行操作をメモっておいて タスクバーに表示するのを 支援するユーティリティクラス griffon-app/conf/Events.groovyで Controller上のAction操作と 関連づけているようですが、 サンプルとしてはかなり技巧的かも
  • 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. GroovyFxPadの構成メモ的な物 swingアプリケーション app.toolkit=swing groovyfxのスクリプト自体を再生する プレイヤーなスタンス (archetype.jumpstartをベース) groovyfx pluginのみを導入 groovyfx再生スクリプト自体は griffon-app/resources/sample フォルダ内にテキストとして入っている
  • 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. 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. NetBeansの新規プロジェクトに JavaFX in Swingというのがあるらしいので連携できるといい感じなのかなと(ただどういう作りで作っているんだろう?)

×