我需要能够判断我的应用程序中是否打开了任何模态对话框。有没有办法做到这一点?
解决方案 好吧,基于接受的答案,这就是我想出来的,做到了我需要的东西:
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;
}
}
答案 0 :(得分:2)
或许正在调用Window' getOwnedWindows()
正在寻找,而从Window派生的所有类都将使用此方法,包括JFrame和JDialog。
但我同意更多背景会有所帮助!