JavaFXこと始め

JavaFX 基本のキ

  • シーングラフの表現

    • Javaで記述またはFXML
    • FXMLの編集、Scene Builder
  • JavaFX Applicationのメインクラス

    • javafx.application.Applicationを継承し、startメソッドをオーバーライドする

    // FXMLをロードする場合のテンプレート Parent root = FXMLLoader.load(getClass().getResource("foobar.fxml"));

  • loadメソッドの戻り値はジェネリクスで指定され、FXMLのルート要素のクラスが戻り値の型になる

    public static T load(URL location) throws IOException

シーングラフを構成する要素

  • ノード
  • javafx.scene.Node
    • コントロール
      • javafx.scene.control.Control
    • リージョン
      • 複数のノードをまとめるノード
      • javafx.scene.layout.Region のサブクラスとして定義
      • VBoxとかHBox
    • シェイプ
      • 四角や丸などの描画要素
      • javafx.scene.shape.Shape のサブクラスとして描画要素を定義
      • 今までのJavaではシェイプに相当するクラスはJava 2Dで定義
        • Swingと一緒に扱うのが大変
    • チャート
      • javafx.scene.chart.Chart のサブクラスとして定義
    • ブラウザ/メディアプレイヤー
      • JavaFXの組み込みブラウザはjavafx.scene.web.WebView
      • javafx.scene.media.MediaView
        • ムービーを扱う
        • MediaPalyerのビューアー的なクラス
        • メディアプレイヤー本体はMediaPlayerクラス
    • ビットマップ

FXMLとJavaを結びつける

  • FXMLでは、対応させるノードにfx:idで名前を設定
  • コントローラクラスではfx:idで決めた名前のプロパティを宣言
  • プロパティに@FXMLアノテーションを付ける

イベント処理

参考

Java技術最前線 - JavaFX 2で始めるGUI開発 第2回 シーングラフとFXML:ITpro