2011-02-11 44 views
2

有沒有方法可以關閉(或獲取句柄)所有可能的窗口,對話框,提示等用Java創建的?關閉所有可能的GUI相關元素

我有一個應用程序可以在這裏或那裏創建GUI元素(雖然它會自動運行測試等),有時會使這些元素打開。我希望能夠從一個地方關閉所有這些東西。

回答

1

設置一個集合,然後關閉每個元素。

編輯:

好吧,這裏是個例,我不知道,如果ArrayList中是這裏的最佳選擇:

class Main{ 
    public static final ArrayList<Window> containers = new ArrayList<Window>(); 

    public static final void closeEverything(){ 
     ListIterator<Window> list = containers.getListIterator(); 
     while(list.hasNext()){ 
       list.next().dispose(); 
     } 
    } 
} 

然後,當你創建你希望成爲一個一次性窗口,您只需添加:

Main.containers.add(this);

在構造函數中。

+0

呃?...我不關注。 – JHollanti 2011-02-11 14:49:08

+0

這假定你自己註冊所有的窗口?這意味着所有創建的對話框還需要在用戶代碼中註冊? – extraneon 2011-02-11 14:59:07