Java5-在任何单击时将模态对话框置于最前面

Java5-在任何单击时将模态对话框置于最前面,java,swing,focus,modal-dialog,jdialog,Java,Swing,Focus,Modal Dialog,Jdialog,设置:Java 5-不可能升级 我有一个大型应用程序,它有许多模态对话框窗口。我听说隐藏的模态对话框会导致不知情的用户甚至重新启动他们的计算机。即使用户知道如何使用ALT-TAB键(至少在微软的Windows中),这也是一件痛苦的事情。据我所知,在以后的Java版本中,这部分是固定的,但不幸的是,这在这里不是一个选项 那么,如果单击正在运行的应用程序的任何部分,有没有办法强制显示模式对话框?我在想它可能与鼠标听筒、玻璃窗或其他东西有关。然而,我还有很多其他的事情要做,所以我现在没有太多的时间来讨

设置:Java 5-不可能升级

我有一个大型应用程序,它有许多模态对话框窗口。我听说隐藏的模态对话框会导致不知情的用户甚至重新启动他们的计算机。即使用户知道如何使用ALT-TAB键(至少在微软的Windows中),这也是一件痛苦的事情。据我所知,在以后的Java版本中,这部分是固定的,但不幸的是,这在这里不是一个选项

那么,如果单击正在运行的应用程序的任何部分,有没有办法强制显示模式对话框?我在想它可能与鼠标听筒、玻璃窗或其他东西有关。然而,我还有很多其他的事情要做,所以我现在没有太多的时间来讨论这个问题。谁能给我指出正确的方向吗

非常感谢

那么,如果单击正在运行的应用程序的任何部分,有没有办法强制显示模式对话框


创建对话框时,需要将父框架指定为对话框的所有者。然后,每当你点击框架时,任何子对话框都会显示出来。

模态上的类型,1)
setModal(true)
2)
ModalityType(一些来自API)
但是为了获得真正的帮助,你必须发布,因为(可能我错了)我不知道Java5或Java6中的另一个焦点问题
setModal(true)
。ModalityType不在Java5中(只有6个或更高版本),如果没有人知道我可以从哪里开始寻找解决方案,我将在明天发布一个SSCCE…现在必须运行并开始工作…现在您被添加到Java6中,那么此方法无法解决您的问题,您是否尝试过-当您动态添加/删除/更改
setModal(true)
时会发生什么,将其设置为required JDialog,这将是最简单的方法SCCE-使用两个管理两个JButton的JDialog创建JFrame不幸的是,该对话框需要一个框架或对话框父级,而在问题的上下文中,这是不可用的。对话框由一个包含JPanel的类显示,该类被添加到JTabbedPane中,然后被放入JFrame中…除非有办法找到JComponent的顶部框架,但我不知道有什么办法可以做到这一点…请参阅:SwingUtilities.windowForComponent(…)。