获取java中当前的活动模态对话框

获取java中当前的活动模态对话框,java,dialog,modal-dialog,Java,Dialog,Modal Dialog,我有一个独立于整个项目其余部分的小对话框。有几个线程可以调用此对话框 问题是显示当前任务进度的模态JDialog。我的对话框将在进度对话框后面打开。无法获取此对话框 是否可以获取当前活动对话框,以便我可以将其用作新对话框的父对话框?以下几点: 您声明几个线程可能会调用此对话框,而对于Swing应用程序,您应该确保事件调度线程是启动此对话框的唯一线程 如果遵循此约束,则更有可能引用已显示的进度对话框,因此可以将其用作对话框父级 听起来您可能需要重新构建应用程序。通常,您可以调用SwingWorke

我有一个独立于整个项目其余部分的小对话框。有几个线程可以调用此对话框

问题是显示当前任务进度的模态JDialog。我的对话框将在进度对话框后面打开。无法获取此对话框

是否可以获取当前活动对话框,以便我可以将其用作新对话框的父对话框?

以下几点:

您声明几个线程可能会调用此对话框,而对于Swing应用程序,您应该确保事件调度线程是启动此对话框的唯一线程

如果遵循此约束,则更有可能引用已显示的进度对话框,因此可以将其用作对话框父级

听起来您可能需要重新构建应用程序。通常,您可以调用SwingWorker来执行后台任务,该任务将“发布”进度回Swing线程,然后Swing线程将更新进度对话框


另一个提示:您可以使用
窗口上的
toFront()
方法将对话框带到屏幕的前面,尽管这似乎不是问题的症结所在。

“有几个线程可以调用此对话框。”-当然只有事件调度线程应该调用此对话框(假设您使用的是Swing)?进度对话框与SwingWorker一起工作。问题是,第一个调用可能来自SwingWorker的任务,第二个调用来自另一个位置(不可定义,因为创建的对话框用于接受SSL证书,并且每次建立SSL连接时都可能发生)。但您是对的,我不得不重构一些代码,以允许任务获得进度对话框等。我想现在我得到了一个工作版本。谢谢