Java 如何设置我在加载其他JFrame类时设置为可见(false)的JFrame?

Java 如何设置我在加载其他JFrame类时设置为可见(false)的JFrame?,java,swing,jframe,Java,Swing,Jframe,//我有两个JFrame类,分别是登录和主页 我在login()中所做的是: 但是现在如果我想加载登录JFrame,我必须写: class homepage extends JFrame{ new login().setVisible(); } 但我的疑问是,上面这一行创建了一个新的login类对象,但是login的前一个jframe对象被隐藏了。如何在不创建新对象的情况下将该对象设置为可见。将您的对象设置为instace对象,以便您可以从构造函数访问它。显然,您应该保存一些登录框架对象

//我有两个JFrame类,分别是登录和主页

我在login()中所做的是:

但是现在如果我想加载登录JFrame,我必须写:

class homepage extends JFrame{
   new login().setVisible();
}

但我的疑问是,上面这一行创建了一个新的login类对象,但是login的前一个jframe对象被隐藏了。如何在不创建新对象的情况下将该对象设置为可见。

将您的对象设置为instace对象,以便您可以从构造函数访问它。

显然,您应该保存一些登录框架对象的链接。例如,您可以将login frame类设置为singletone,并在需要时获得相同的实例,或者只将login frame链接传递到主页。

您可以使用自定义构造函数编写类似的代码

       class login extends JFrame{
          homepage hp= new homepage(this);
          setVisible(false);
          hp.setVisible(true);
       }

class homepage extends JFrame{

    private login loginObj;

    public homepage(login loginObj){
    this.loginObj=loginObj;
    loginObj.setVisible(true);
    }

    }
       class login extends JFrame{
          homepage hp= new homepage(this);
          setVisible(false);
          hp.setVisible(true);
       }

class homepage extends JFrame{

    private login loginObj;

    public homepage(login loginObj){
    this.loginObj=loginObj;
    loginObj.setVisible(true);
    }

    }