Java8環境で作成したクラス内で生成したjavaFXのTextFieldの値が変更されたときのイベントの関数を無名でaddListenerにより登録しています。
このTextFieldを他のクラスで参照し、そのクラス内で別の処理を行う関数に置き換えたいため一旦removeListenerをして匿名関数を削除したいのですが、一般的に削除する匿名関数をどのように参照し指定するのがよいのでしょうか?
Java
1class Hoge { 2 void hogeMethod(TextField inputObj) { 3 inputObj.textProperty().addListener((ObservableValue<? extends String> observableValue, String s, String s2) -> { 4 // 変更されたあとの処理 (この内容を他のクラスのメソッドで変更したい) 5 }); 6 } 7}
addListenerした関数ポインタを取得すればと思っていたのですが、そのようなメソッドを探してはみたもののそれらしいものもなくネットで調べても有力な情報が見つけられませんでした。
匿名関数をTextFieldのUserDataに格納しておいて参照すれば実現はできそうですが、なにかもっとスマートな方法があるのでしたらご教示いただければと思います。
よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/11/16 03:24
2020/11/16 03:39
2020/11/16 05:43