2011-07-17 9 views
4

プログラム内のすべての表示フレーム/ダイアログを見つける方法はありますか?私は現在、可視ウィンドウのリストを更新するのJFrame/JDialogのクラスをサブクラス化するが、はるかに良いだろう、このための組み込みソリューションがある場合スイング可視フレーム

答えて

11

List<Window> visibleWindows = new ArrayList<Window>(); 
for(Window w: Window.getWindows()){ 
    if(w.isShowing()){ 
     visibleWindows.add(w); 
    } 
} 

参照してください可能性:

  1. getWindows()
  2. isShowing()
2

Moonbeam's answerに拡大しています。

Toolikit.getDefaultToolkit().addAWTEventListener()

を...と、すべてのウィンドウ関連イベントをサブスクライブ:さらにあなたが言うことができます。この場合、ウィンドウが即座に作成されるという情報が得られます。