我有一些代码,其中显示了一个带有两个文本框和两个按钮的对话框(如确定和取消,典型的登录窗口)。“.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();
然后,密码永远不会正确,因为在触发器未完成之前不会调用处理程序。我希望它在我调用 setVisible(true) 时被调用,因为否则,我无法根据窗口处理程序输入的内容运行我的“触发器”。
测试这个的正确方法是什么?
谢谢!