用户切换浏览器选项卡时如何从 JApplet 中隐藏 JDialog?

big*_*Guy 4 java browser jdialog japplet

问题:用户从applet启动长时间操作;显示带有进度条的 JDialog。用户打开/切换到另一个浏览器选项卡 - JDialog 仍然显示(并惹恼用户)。

当用户切换到另一个选项卡时,应该隐藏 JDialog;并在用户切换回来时再次显示。

注意:我看到有类似问题的问题,解决方案是添加 windowActivated/deactivated 侦听器。它对我不起作用,因为窗口中有多个框架,其中一个包含小程序。当用户单击另一个框架时,会投射 windowDeactivate 事件,但用户仍在同一选项卡中。

cam*_*ckr 5

尝试将小程序指定为对话框的所有者:

JDialog dialog = new JDialog(SwingUtilities.windowForComponent(this));
Run Code Online (Sandbox Code Playgroud)

其中“this”是 JApplet。希望这将在每次父级失去焦点时激活/停用对话框。