找到属于框架的所有模态对话框

时间:2014-10-13 18:25:49

标签: java swing awt

我需要能够判断我的应用程序中是否打开了任何模态对话框。有没有办法做到这一点?

解决方案 好吧,基于接受的答案,这就是我想出来的,做到了我需要的东西:

Window[] wins : myMainFrame.getOwnedWindows();
for(Window w : wins) {
  if(w instanceof JDialog) {
    JDialog jd = (JDialog)w;
    if(jd.isModal() && jd.isVisible()) {
      // back out of current operation (return null in my case)
      return null;
    }
}

1 个答案:

答案 0 :(得分:2)

或许正在调用Window' getOwnedWindows()正在寻找,而从Window派生的所有类都将使用此方法,包括JFrame和JDialog。

但我同意更多背景会有所帮助!