Java Swing:addWindowListener重复

时间:2012-02-13 11:07:42

标签: java swing jframe windowlistener

嘿所有我有两个JFrame,一个是我的主要登录框架,用户输入用户名和密码等...

登录后,用户将移至主桌面程序。

实施例: 当用户第一次加载并决定退出时,单击角落中的x,调用我的addWindowListener事件,然后单击(取消)它不执行任何操作。这就是我想要的。

但是,如果用户登录从我的登录表单到我的主桌面窗口然后单击x,它会在主窗口中调用addWindowListener事件并询问他们是否要注销。问题是,当他们点击某个动作时,它会再次询问它。我已经检查了这个,每次调用一个新窗口时似乎都会发生这种情况。

所以...可能有问题是我怎样才能让我的活动只被召唤一次?

更多例子

开始计划>点击X>单击取消(这很好) 开始计划>登录>单击主窗口中的X>单击取消(再次询问)

1 个答案:

答案 0 :(得分:1)

1)不要使用两个JFrames,将JDialogparent / owner for JFrame一起使用

2)对某些事件(正确登录后),您可以从JFrame删除WindowListener(更好的是JDialog