关闭主JFrame

时间:2012-02-14 12:15:38

标签: java user-interface netbeans jframe

我有一个主要的jFrame帮助我按下按钮并打开新的JFrame但问题是,当我打开其他JFrame时,之前仍然保留在那里我想要的是当我按下一个按钮然后我前进到新的JFrame(前一个不应该在那里)当我按下前一个按钮时,我会回到之前的JFrame。

我知道有一些dispose的功能,它们就像jframe1.dispose()一样好但我不知道如何隐藏第一个JFrame,它的主要代码是这样编写的

    public static void main(String args[]) {


    java.awt.EventQueue.invokeLater(new Runnable() {
        public void run() 
          {          
           new GraphicalInterface().setVisible(true);
          }
       });
     }

如何在按钮代码中将其设置为.setVisible(false)?

3 个答案:

答案 0 :(得分:2)

您需要保留对JFrame的引用,以便稍后设置它的可见性。

private JFrame myFrame;

public void run() {
  myFrame = new GUI();
  myFrame.setVisible(true);
}

public void hide() {
  myFrame.setVisible(false);
}

请注意,JFrame是顶级容器,每个应用程序只应该有一个。最好不要使用多个JFrame而只使用一个,而是交换各种JPanel代替。

答案 1 :(得分:0)

如果您只保留一个框架并将新面板设置为内容,那么这将是安全的资源。

您的问题是如何处理框架的引用?请提供创建下一帧的代码。

答案 2 :(得分:0)

您可以将GUI(我猜想扩展为JFrame)分配给变量,并在该对象上调用.setVisible(false)。由于上面代码中的对象或多或少是匿名的,因此您无法访问该对象。

您还可以查看this