我有一个登录表单对话框,它显示在开始步骤中,用户必须登录才能继续执行应用程序。问题是我不知道应用程序应该知道登录过程何时完成并继续。我想我应该注册一个WindowListener
并执行windowClosing
事件。并在里面我应该从我的应用程序调用一个方法来继续这个过程。但我不知道这个解决方案是如何正确的。因为我实现了登录表单作为一个类扩展JDialog
和应用程序实例化它作为本地变量。因此我认为从Login
类中调用应用程序的方法是不正确的。我不确定。这只是一种感觉。 你有什么建议?如何从对象B调用对象A的方法,而对象B本身是A对象的属性?
public class Application {
private Login login = null;
public Application() {
login = new Login();
}
public continue() {
//...
}
}
public class Login extends JDialog {
public Login() {
//...
}
public void processLogin() {
}
private class WindowEventHandler implements WindowListener {
public void windowClosing(WindowEvent e) {
if(#LoginProcessSuccessful?) {
// call application's continue method
}
}
}
}