在关闭一个jframe窗口时,其他窗口自动关闭为什么?

时间:2014-09-13 06:02:26

标签: java

我正在登录基于摇摆的应用程序登录后我有一个菜单窗口包含不同的选项卡打开不同的窗口,但当我关闭其中一个关闭所有窗口时自动关闭。指导我如何解决它?感谢。

2 个答案:

答案 0 :(得分:1)

您正在呼叫setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE),以便在此窗口关闭时您的整个应用程序将关闭。这是因为(如下所述)System.exit();将被调用。

您应该将其他值之一传递给setDefaultCloseOperation(int operation),具体取决于您的应用程序的需求。

如果您使用多个框架,请阅读The Use of Multiple JFrames, Good/Bad Practice?


来源setDefaultCloseOperation

  

public void setDefaultCloseOperation(int operation)

     

设置用户启动时默认执行的操作   这个框架上的“关闭”。您必须指定以下之一   选择:

     
      
  • DO_NOTHING_ON_CLOSE(在WindowConstants中定义):不要做任何事情;要求程序处理中的操作   注册WindowListener对象的windowClosing方法。

  •   
  • HIDE_ON_CLOSE(在WindowConstants中定义):在调用任何已注册的WindowListener对象后自动隐藏框架。

  •   
  • DISPOSE_ON_CLOSE(在WindowConstants中定义):在调用任何已注册的WindowListener后自动隐藏和处理框架
      对象

  •   
  • EXIT_ON_CLOSE(在JFrame中定义):使用System exit方法退出应用程序。仅在应用程序中使用它。

  •   
     

默认情况下,该值设置为HIDE_ON_CLOSE。改变了价值   此属性导致触发属性更改事件   属性名称“defaultCloseOperation”。

答案 1 :(得分:0)

通常你应该使用HIDE_ON_CLOSE。如果您想再次打开框架,可以这样做:

mainFrame mF = new mainFrame();
mF.setVisible(true);

mainFrame是GUI类的名称。