2 つのテキスト ボックスと 2 つのボタン (通常のログイン ウィンドウの [OK] と [キャンセル]) を含むダイアログを表示するコードがあります。「.setVisible(true)」の後のメイン コードの実行は、そのモーダル ウィンドウに入力された値に条件付けられます。
私が今直面している問題は、次のようなことをすると:
WindowInterceptor.init(new Trigger() {
@Override
public void run() throws Exception {
LoginModal loginWin=new LoginModal();
loginWin.setVisible(true);
if(loginWin.getPassword().equals("any")) {
System.out.println("password OK!");
}
}
}).process(new WindowHandler() {
@Override
public Trigger process(Window window) {
System.out.println("triggered!");
}
}).run();
そうすると、トリガーが終了するまでハンドラーが呼び出されないため、パスワードは決してOKではありません。setVisible(true) を呼び出したときに呼び出されることを期待します。そうしないと、ウィンドウ ハンドラーによって入力された何かに基づいて「トリガー」を実行できないからです。
これをテストする正しいアプローチは何ですか?
ありがとう!