根据您要实现的目标,您可以使用setVisible
方法或dispose
方法。
如果需要,您可以将您的StartScreen
实例作为参数传递给您的LoginDialog
类。
另一种方法是为您的LoginDialog
班级提供“登录后”操作的设置器。然后StartScreen
可以创建并设置一个配置启动屏幕的操作。
编辑
为了使“登录后”操作更加清晰,我的意思是
public class LoginDialog{
Action afterLoginAction;
public void setAfterLoginAction( Action action ){
afterLoginAction = action;
}
public void loginButtonPressed(){
//do your stuff
if ( afterLoginAction != null ){
afterLoginAction.actionPerformed( new ActionEvent( ... ) );
}
}
}
public class StartScreen extends JWindow{
public void showLoginScreen(){
LoginDialog loginDialog = new LoginDialog();
loginDialog.setAfterLoginAction( new Action(){
@Override
public void actionPerformed( ActionEvent e ){
StartScreen.this.dispose();
}
} );
loginDialog.setVisible( true );
}
}