我的应用程序中有一个登录页面,如果用户输入登录详细信息并单击按钮,窗口应该消失并移动到另一个窗口如何在java swing中执行此操作我尝试创建框架并将其设置为false但是它不起作用?
答案 0 :(得分:2)
你应该这样做
if("credentials are correct"){
this.dispose();
// call new frame that contains the page to
//be displayed after logging in successfully
}
dispose()
方法将关闭当前帧(this
)。
答案 1 :(得分:0)
我建议你有一个StartUp
课程,它将登录称为JDialog
,如:
public class StartUp {
public static void main(String args[]) {
//1- showLoginDialog
//2- if pass, then dispose the login dialog by calling JDialog.dispose() method
//3- show main JFrame by calling JFrame.setVisibe(true) method
}
}
答案 2 :(得分:0)
我在这种情况下使用的一个解决方案是首先创建父框架(登录后将显示的框架)并将其设置为不可见。然后,您可以启动登录窗口。您必须向此框架添加一个侦听器,以便在作为登录成功结果关闭时,可以使父框架可见。
public static void main(String[] args) {
final JFrame parentFrame = new JFrame("Main window");
parentFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//add content to the main frame
parentFrame.setVisible(false);
final JFrame loginFrame = new JFrame("Login window");
//add content to the login frame
loginFrame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
loginFrame.addWindowListener(new WindowAdapter() {
@Override
public void windowDeactivated(final WindowEvent e) {
super.windowDeactivated(e);
//test if login successful
parentFrame.setVisible(true);
}
});
loginFrame.setVisible(true);
}