javaFXとは、javaによるRIA(Rich Internet Application)技術で、 シンプルなスクリプトにより高度なGUIを構築できます。
従来、JavaのGUIはSwingやAWTを利用して作成されてきましたが、これらは非常に 面倒で、簡単なものを作るだけでも複雑な処理を必要としていました。
SwingでのGUI作成コードは手続き型ですが、javaFXは宣言型です。 宣言型だと、処理の順番をあまり意識することなくコードが書けます。 以下は画面に「Hello World!」と表示するためのコードです。
Swingのコード
public class HelloWorld { public static void main(String[] args) { JFrame frame = new JFrame("タイトル:Hello World"); frame.setSize(500, 300); JLabel label = new JLabel("Hello World!"); frame.add(label); frame.setVisible(true); } }
JavaFXスクリプトのコード
Stage { title: "タイトル:Hello World" scene: Scene { width: 500 height: 300 content: Text { x: 0 y: 10 content: "Hello World!" } visible: true } }
JavaFXの方がシンプルで、直感的に分かりやすいです。
サンプル
Windowsに付属している「ペイント」(MsPaint)をかなり簡素化したようなものです。 線の太さを選択して、色を選択すると、その指定で描画することができます。 「Clear」ボタンで描画エリアの初期化を行い、「Undo」ボタンで直前の処理を取り消します。
感想
良い所
図形の描画やグラデーションの作成が非常に簡単 eclipseでオブジェクト作成の補助をしてくれるため短期間での作成が可能 変数の動的な変更が可能 (xの値にyの値をバインドしておけばyを変更するとxも自動で変更される) 出来上がったソースが直感的に分かりやすい Photoshop、Illustratorと連携できるプラグインがあるので複雑な図形はこれらで作成して移植できる (CS3、CS4に対応)
悪い所
動作が重い。複雑なものになるととても重い 多次元配列が使用できない (配列の中に配列をセットするとセットした順に並べられ、1次元配列として扱われる)
|