コンポーネントのイベントを貼り付けたりコンポーネントにアクセスするために
フィールド変数を保持したり、何かと忙しいコントローラクラス。
それに対する覚書。
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自体のバグが気になるけど。
0 件のコメント:
コメントを投稿