Java JFrame.DISPOSE_ON_CLOSE+重新打开帧时重复循环

Java JFrame.DISPOSE_ON_CLOSE+重新打开帧时重复循环,java,swing,jframe,duplicates,Java,Swing,Jframe,Duplicates,我在主窗口中使用按钮调用了一个框架,单击它运行一个循环,在控制台中我看到: 1. 2. 3. 4. 五, 通过setDefaultCloseOperation JFrame.DISPOSE_ON_CLOSE关闭框架 如果我关闭框架,然后再次打开,当单击控制台中的按钮时,将显示 一, 2. 3. 4. 5. 1. 2. 3. 4. 五, 输出是重复的,因此每次我重新打开帧直到完全重新启动程序时,输出都会增加 请帮忙!如何关闭帧而不关闭程序而不复制。谢谢! 不要在关闭时使用DISPOSE\u,请尝试

我在主窗口中使用按钮调用了一个框架,单击它运行一个循环,在控制台中我看到: 1. 2. 3. 4. 五,

通过setDefaultCloseOperation JFrame.DISPOSE_ON_CLOSE关闭框架

如果我关闭框架,然后再次打开,当单击控制台中的按钮时,将显示

一, 2. 3. 4. 5. 1. 2. 3. 4. 五,

输出是重复的,因此每次我重新打开帧直到完全重新启动程序时,输出都会增加


请帮忙!如何关闭帧而不关闭程序而不复制。谢谢!

不要在关闭时使用DISPOSE\u,请尝试在关闭时退出。这样做可以解决你的问题

请提供详细信息,以便我们可以告诉您问题所在。好的LuckOPs需要听到->使用CardLayoutEXIT\u重新使用当前JFrame\u ON\u CLOSE将关闭程序,我只需要关闭当前JFrameframe@user1786639顶级容器尚未完成,则永远不会被GC'ed,原因很简单-->基于本机操作系统的对等点,JVM和其他虚拟机一样,都是虚拟机,无法访问这个安全库,等等,我想知道答案,但现在它有帮助了
perhaps a windowlistener may help. 

JFrame.addWindowListener(new WindowAdapter(){
           @Override
           public void windowClosing(WindowEvent e){
                   - - - - - - - - insert your code here - - - - - - - 
                  - - - - - - whatever you want to happen before - - - - - 
                  - - - - - -your form closes - - - - - - 
                   JFrame.setDefaultCloseOperation(DISPOSE_ON_CLOSE);

           }
       });