2010-10-06 22 views
7

Có một phương pháp nào trong AWT hoặc Swing để cho tôi biết nếu có một cửa sổ phương thức (hoặc nhiều) lên hoặc trả về một mảng của chúng?Có cách nào đơn giản để biết liệu một hộp thoại phương thức có được hiển thị không?

Tôi đã xem Window, Dialog, JDialog, SwingUtilities, v.v. nhưng không thể tìm thấy.

(Tôi biết tôi có thể lặp qua Window#getWindows và kiểm tra Dialog#isModal.)

Trả lời

10

(Đây là những gì tôi biết và làm việc, mặc dù tôi không chắc chắn nếu nó đúng để sử dụng Window#isShowing, hoặc nếu tôi nên sử dụng cái gì khác .)

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; 
} 
+0

Thưa bạn, bạn là một con thú! – FonzTech

Các vấn đề liên quan