先ほど今日の記事を投稿したのですが、まさに今、JavaFXの次なる発見をしたので投稿。(基礎的なことかも...)
以前、コントローラークラスのインスタンスをFXMLファイルを読み込んだクラスのインスタンスにする方法を紹介したと思います。
今日はそれのちょっとした応用編?基礎的なことかもしれませんが、やっと僕が思った通り動いてくれて感動しましたよ(´◉◞౪◟◉)。
今日悩んでいたのは、FXMLファイルを読み込んだクラスのインスタンスをコントローラーとして使う流れまでは理解しました。
でも、読み込んだのはいいものの、この方法で読み込んだFXMLファイル内のコントロールのイベントハンドラの実装の仕方が分かりませんでした。
ボタンを押したときの処理の書き方が分からない!!
でも今分かった。やり方は実に簡単。
直接FXMLファイルに onAction="#test" みたいに書き足すだけ。(ボタンの例)
そしてコントローラーに「public」の修飾子を付けた同じ名前のメソッドを追加するだけ。いつも通りのやり方で。
するとほら。ボタンを押したらそのメソッドが動くでしょ。
SeceneBuildeに依存しすぎも良くないな(--〆)。
ポイントはFXMLファイルでメソッドの定義をする際に"#"を忘れないこと!!これが無いとエラーが投げられますよ。
それじゃノシ
以前、コントローラークラスのインスタンスをFXMLファイルを読み込んだクラスのインスタンスにする方法を紹介したと思います。
今日はそれのちょっとした応用編?基礎的なことかもしれませんが、やっと僕が思った通り動いてくれて感動しましたよ(´◉◞౪◟◉)。
今日悩んでいたのは、FXMLファイルを読み込んだクラスのインスタンスをコントローラーとして使う流れまでは理解しました。
でも、読み込んだのはいいものの、この方法で読み込んだFXMLファイル内のコントロールのイベントハンドラの実装の仕方が分かりませんでした。
ボタンを押したときの処理の書き方が分からない!!
でも今分かった。やり方は実に簡単。
直接FXMLファイルに onAction="#test" みたいに書き足すだけ。(ボタンの例)
そしてコントローラーに「public」の修飾子を付けた同じ名前のメソッドを追加するだけ。いつも通りのやり方で。
するとほら。ボタンを押したらそのメソッドが動くでしょ。
SeceneBuildeに依存しすぎも良くないな(--〆)。
ポイントはFXMLファイルでメソッドの定義をする際に"#"を忘れないこと!!これが無いとエラーが投げられますよ。
それじゃノシ
※コメント投稿者のブログIDはブログ作成者のみに通知されます