如何在JavaSwing中重定向到另一个窗口?

如何在JavaSwing中重定向到另一个窗口?,java,swing,Java,Swing,我的应用程序中有一个登录页面,如果用户输入登录详细信息并单击按钮,窗口应消失并移动到另一个窗口如何在java swing中执行此操作我尝试创建框架并将其设置为false,但它不起作用?我建议您使用启动类,将登录名调用为JDialog类似: public class StartUp { public static void main(String args[]) { //1- showLoginDialog //2- if pass, then dispo

我的应用程序中有一个登录页面,如果用户输入登录详细信息并单击按钮,窗口应消失并移动到另一个窗口如何在java swing中执行此操作我尝试创建框架并将其设置为false,但它不起作用?

我建议您使用
启动
类,将登录名调用为
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
    }
}

我在本例中使用的一个解决方案是首先创建父帧(登录后将显示的父帧)并将其设置为不可见。然后您可以启动登录窗口。您必须向该框架添加侦听器,以便在登录成功后关闭该框架时,可以看到父框架

 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);
}
你应该这样做

if("credentials are correct"){
    this.dispose();
    // call new frame that contains the page to 
    //be displayed after logging in successfully
}

dispose()
方法将关闭当前帧(
this
)。

@Sanjeev am使用guibuilder@SanjeevJFrame loginPage=新JFrame();loginPage.setVisible(false);}现在调用您希望调用的页面的构造函数。并添加setVisible(true)@KumarPallav这不是一个有效的建议。在尝试使用GUI Builder之前,请先学会手工编写代码。这几天你问了很多问题。其中一些似乎非常基本。我强烈建议您放弃GUI构建器,尽可能多地使用它。然后,当您觉得手工编码很舒服时,可以将GUI builder用作一个方便的工具。你问的所有问题都不显示代码。“我正在使用GUI Builder”并不是不显示代码的借口。每个人都只能猜测你的问题。在哪里创建这个启动类我不知道,你需要在你的项目中创建它。并使其成为运行项目时运行的默认类。superd想法已解决我的疑问谢谢你:)