2013年3月3日日曜日

【JavaFX2】コントローラクラス

コンポーネントのイベントを貼り付けたりコンポーネントにアクセスするために
フィールド変数を保持したり、何かと忙しいコントローラクラス。

それに対する覚書。

 1.コントローラでないとコンポーネントを認識しない
 @FXMLアノテーションをつけることによって、java側から画面のコンポーネントにアクセスするが、
 そもそもこの機能はコントロールクラスでないと動作しないようだ。

 2.フォーム1つにつきコントローラも1つ
  SCENE Buiderを見る限り、どうもそうっぽい。最終的にごちゃごちゃしてくるのではないだろうか。

 3.初期処理はinitializeで
  コンポーネントに対する初期処理は、コントロールクラスにInitializableを実装し、
  initializeメソッドでやるのが流儀のようだ。

 4.コントローラのインスタンス取得方法
  URL file = new File("fxmlファイルパス").toURI().toURL();
  FXMLLoader loder = new FXMLLoader();
   Conroller controller = (Controller) loader.getController()
    こんな感じ。

さくさく十同できますなぁ。
SCENE Buider自体のバグが気になるけど。