2007.06.27 Java Night Seminar 資料
JavaFX で遊ぼう −お題、挑戦受けて立ちます!!
下記のリンクで Java Web Start が起動します。
Java Web Start のバグ (?) でデフォルトエンコーディングが指定できないため、2 つのパッケージを用意しました (EUC の方ごめんなさい)。
お使いになる OS のデフォルトエンコーディングと同じものを起動してください。
また、Shift_JIS 版は TB フォント、UTF-8 版はさざなみフォントを使用しています。
Windows は TB フォントがなくとも、MS ゴシックなどが使用されますが、レイアウトが崩れる場合があります。
Linux などで IPA フォントなどさざなみフォント以外のフォントしかない場合、文字化けを起こします。
フォントを変更するには、ソースをダウンロードして、フォントの設定の部分を書き直す必要があります。
フォント設定は net/javainthebox/javafx/presentator/contents ディレクトリにあるすべてのソースに書かれています。
\"さざなみゴシック\" と書かれている部分を適宜お使いのフォント名に置換してください。
また、オレオレ証明書しか使っていませんので、セキュリティの警告がでます。JavaFX のランタイムがローカルにディスクキャッシュを作成しますが、その他にはローカルのリソースにはアクセスしていません。
(もし、信用できない場合は、実行しないでください)
起動したら、オレンジの色の部分を左クリックすることで、プレゼンが進みます。
アニメーション中にマウスクリックすると表示がおかしくなるというバグがありますので、画面の更新が終わったのを見計らって、クリックしていただけるとウレシイデス ^^;;
ソース
presentator_sjis.zip (Shift_JIS 版)
presentator_utf8.zip (UTF-8 版)
実行するファイルは net.javainthebox.javafx.presentator.Presentator です。
ページは Scene クラスを基底クラスとしたクラスで構成されています。
Scene クラスは Swing のアクションインタフェースのような Leaf オブジェクトを保持します。
Leaf オブジェクトにはマウスクリックされたときに表示する内容 (node:Node) と、そのときに行なう処理 (action:operation()) を持ちます。
たとえば、テキストをフェードインさせたいときは次のような Scene オブジェクトを生成します。
Leaf {
node: Text {
x: 100
y: 100
opacity: bind opacity0
font: Font {face: SERIF, style: BOLD, size: 56}
content: "Hello, World"
}
action: operation() {
opacity0 = [0..1.0] dur 1000;
}
}
注 opacity0 はこの Leaf オブジェクトを保持する Scene オブジェクトが持つアトリビュートです。