私はインターフェース設計にまったく慣れておらず、イベントを処理する最良の方法が何であるかを理解するのに苦労しています。ハンドラーと (この場合) イベントを発生させるボタンが同じクラスにある単純なケースでは、それで問題ありません。ハンドラーはボタンを見ることができるので、次のように言うことができます:
if (event.getSource() == myButton)
また、ハンドラーは同じクラスにあるため、そのクラスなどにローカルなオブジェクトにタブを追加できます。
問題: ハンドラーとイベント ジェネレーターが異なるクラスにある場合、どのように対処すればよいかわかりません。
例えば
メイン レイアウト クラスから、カスタム ダイアログを作成して表示します。そのダイアログは、独自のクラスに実装されています。理想的には、ダイアログはメイン レイアウト クラス (ClickHandler を実装する) のハンドラーを使用しますが、これで問題ありませんが、私のアプリケーションにはいくつかの異なる ClickEvents があります。ソースを確認して上記のように区別します。ただし、この場合、ボタンはダイアログ クラスにあるため、次のように単純に言うことはできません。
if (event.getSource() == myDialogbutton)
myDialogButton はスコープ内にないためです。
これがどのように機能するかについてのヒントをいただければ幸いです。
D