達成したいことに応じて、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 );
}
}