嘿,我有两个JFrame,一个是我的主登录框架,用户输入了用户名和密码,等等。
登录后,用户将移至主桌面程序。
例:
当用户第一次加载并决定退出时,他们单击角落的x,这将调用我的addWindowListener事件,然后单击(取消)它不会执行任何操作。这就是我要的。
但是,如果用户从我的登录表单登录到我的主桌面窗口,然后单击x,它将在主窗口中调用addWindowListener事件,并询问他们是否要注销。问题是,当他们单击某个动作时,它就会再次询问。我已经检查过了,每次调用新窗口时似乎都在发生。
所以...可能的问题是我该如何使我的活动仅被调用一次?
进一步的例子
启动程序>单击X>单击取消(可以正常工作)
启动程序>登录>在主窗口中单击X>单击取消(再次询问)
最佳答案
1)不要使用两个JFrames,将JDialog与parent / owner for JFrame
2)在某些事件中(正确登录后),您可以从JFrame
中删除WindowListener(最好是JDialog
)