我有以下情况(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