3.3.13ラムダ式によるイベント実装
イベントリスナー実装の仕組みがわかったところで、実装の仕方をもう少し考えてみましょう。Java 8では、メソッドが1つしかないインターフェイス(関数型インターフェイス)の実装には、ラムダ式を使うことができました。
では、リスト3.37のChoiceBoxにaddListenerでイベントリスナーを組み込んでいる部分を、以下のように書き換えてみましょう。
choice.getSelectionModel().selectedItemProperty()
.addListener((ObservableValue observable, Object oldValue,
Object newValue) -> {
label.setText("you select from \"" + oldValue
+ "\" to \"" + newValue + "\".");
}
);
これでリスト3.37と同じようにイベントの組み込みが行えます。addListenerでリスナーの組み込みを行っている部分を見ると、このように書き換わっていることがわかるでしょう。
ラムダ式を使わない場合
…….addListener(new ChangeListener() {
@Override
public void changed(ObservableValue obse
この記事は会員限定です。会員登録をすると続きをお読みいただけます。
ログイン / 新規登録