我有以下情况(2节课)

框架1(下一个按钮)
Frame2(上一个按钮,关闭按钮)
框架1已打开(实例1)
转到框架1-框架2(frame1.setVisible(false)frame2.setVisible(true))(实例2)
转到第2帧-第1帧(frame2.setVisible(false)frame1.setVisible(true))(实例3)
再次为Frame1-Frame2(frame1.setVisible(false)frame2.setVisible(true))(实例4)

在上述过程中有4个实例(如果打开了程序,则记为实例)
现在在从Frame2关闭期间,我使用frame1.dispose()frame2.dispose()
这里仅处理2次实例。
但是问题是:仍然没有处置2个实例。
但是只有一个过程还活着。这怎么可能?
在上述情况下,我应该处置所有实例以终止进程吗?

最佳答案

默认值DefaultCloseOperation for JFrame is HIDE_ON_CLOSE
必须为DefautlCloseOperation设置JFrame并使用正确的值(EXIT_ON_CLOSE)
不要创建第二个或多个JFrames,而是使用CardLayout
如果确实有原因,请使用JDialog代替另一个JFrame

08-25 16:18