Home - naokirin/GPresentFX GitHub Wiki
Groovy Presentation From Xmas
JavaFXとGroovyスクリプトを使ってDSLでプレゼンテーションしちゃおう
Groovy Presentation From Xmasとは
Groovy Presentation From Xmas(略してGPresentFX)はJavaFXを用いてGroovyでDSLを使ってプレゼンテーションしてみたい, という思いつきから生まれたクリスマスからスタートした企画です.
どうやって使うの?
まずJavaFXとGroovyが使える環境が必要です.
ただしGroovy本体はなくてもGitで管理されているbuild.gradleを用いてGradleでビルドするのであれば, 自動的に取得されます.
またGradleによるビルドファイルしか準備していませんのでGradleをインストールするか, 自力でビルドするかの二択です.
ビルド後は生成されたExecutable Jarファイルを実行すれば, 実行時にpresent.groovyが読み込まれて使用することができます.
キーボードの左右のキーでスライドのページの移動, Homeで1枚目のスライド, Endで最後のスライド, F5でDSLスクリプトのリロード, ESCでアプリケーションの終了となっています.
実行時のディレクトリ構成
プレゼンテーション用のDSLスクリプトファイルはjarファイルと同じディレクトリのpresent.groovyが読み込まれます.
プラグインスクリプトはplugin/ディレクトリに存在します.
./
GroovyPresentFX-0.1-SNAPSHOT.jar
present.groovy
plugin/
default/
settingParent/
plugin/default/には, デフォルトで提供されているプラグインが入っています.
plugin/settingParent/には, JavaFXでの親子関係の処理を記述するスクリプトが入ります.
プレゼンテーション用DSLの書き方
プレゼンテーション用のDSLの書き方ですが, まず
dsl().slides{
slide{
text(text:"Hello")
}
}
で Hello と表示されます.
階層の最上位のDSLの呼び出しの際はdsl()から呼びだす必要があります.
今回の場合はslidesです.
次に複数のスライドを作成する場合は
dsl().slides{
slide{
text(text:"1枚目")
}
slide{
text(text:"2枚目")
}
}
とすることで, slides下のslideが上から順にスライドの1枚目, 2枚目…, となっていきます.
各DSLの設定と詳細は以下のようになっています.
DSLの生成をする
dsl
スライド全体を生成する(スクリプトの最上位)
slides
スライドを生成する(配下のオブジェクトは垂直方向に配置する)
slide
垂直方向にオブジェクトを配置するボックスレイアウトを生成する
vbox
水平方向にオブジェクトを配置するボックスレイアウトを生成する
hbox
重複してオブジェクトを配置するボックスレイアウトを生成する
stack
配下のtop, bottom, center, right, leftをそれぞれ上, 下, 中央, 右, 左に配置するボックスレイアウトを生成する
border
top
bottom
center
right
left
テキストのオブジェクトを生成する
text
画像を表示するオブジェクトを生成する
image
円グラフのオブジェクトを生成する
piechart
バブルチャートのオブジェクトを生成する
bubblechart
エリアチャートのオブジェクトを生成する
areachart
折れ線グラフのオブジェクトを生成する
linechart
散布図のオブジェクトを生成する
scatterchart
棒グラフのオブジェクトを生成する
barchart