在AWT或Swing中是否有一种方法要么告诉我是否有模态窗口(或多个),或者返回它们的数组?
我查看了Window
,Dialog
,JDialog
,SwingUtilities
等,但找不到。
(我知道我可以遍历Window#getWindows
并查看Dialog#isModal
。)
答案 0 :(得分:10)
(这是我所知道并且有效的,但我不确定使用Window#isShowing
是否正确,或者我是否应该使用别的东西。)
public static boolean isModalDialogShowing()
{
Window[] windows = Window.getWindows();
if( windows != null ) { // don't rely on current implementation, which at least returns [0].
for( Window w : windows ) {
if( w.isShowing() && w instanceof Dialog && ((Dialog)w).isModal() )
return true;
}
}
return false;
}