jp.co.fujitsu.reffi.client.swing.manager
クラス WindowManager

java.lang.Object
  上位を拡張 jp.co.fujitsu.reffi.client.swing.manager.WindowManager

public class WindowManager
extends java.lang.Object

[概 要]

メモリ上のウィンドウコンポーネントを管理するクラスです。

[詳 細]

AWTEventListenerを使用してアプリケーション全体のウィンドウ開閉を監視します。
オープンされたウィンドウはwindowListフィールドでインスタンス管理され、 クローズされたウィンドウはwindoListからインスタンスが削除されます。

windowListフィールドが持つウィンドウインスタンスを基に、 ウィンドウの多重起動制御、アクティブウィンドウの取得、指定された名前を持つ ウィンドウの取得等を行います。

[備 考]

使い方

        WindowManager.getInstance().addWindowOpenShutListener(new WindowOpenShutListener(){
                public void windowOpen(AWTEvent evt){
                        System.out.println((Window)evt.getSource() + "is opend");
                }
        
                public void windowShut(AWTEvent evt){
                        System.out.println((Window)evt.getSource() + "is closed");
                }
        });
 

[環 境] JDK 6.0 Update 11

Copyright (c) 2008-2009 FUJITSU Japan All rights reserved.

作成者:
Project Reffi

フィールドの概要
static int BASE
          showWindow時、基底ウィンドウの直上に表示する定数です。
static int BOTTOM
          showWindow時、基底ウィンドウの下隣に表示する定数です。
static int RIGHT
          showWindow時、基底ウィンドウの右隣に表示する定数です。
 
メソッドの概要
 void addWindowOpenShutListener(WindowOpenShutListener listener)
          [概 要] ウィンドウ開閉リスナを追加します。
 boolean existSameNameWindow(java.lang.String windowName)
          [概 要] 同名のWindowが管理されているかどうか調べます。
 boolean existSameNameWindow(java.awt.Window window)
          [概 要] 同名のWindowが管理されているかどうか調べます。
static WindowManager getInstance()
          [概 要] シングルトンインスタンス取得メソッドです。
 java.util.List<WindowOpenShutListener> getListenerList()
          [概 要] ウィンドウ開閉リスナのリストを返却します。
 java.awt.Window getWindowByName(java.lang.String windowName)
          [概 要] 引数windowNameを持つウィンドウインスタンスを返却します。
 java.util.List<java.awt.Window> getWindowList()
          [概 要] 管理しているWindowインスタンスのリストを返却します。
 java.awt.Window[] getWindowsByName(java.lang.String windowName)
          [概 要] 引数windowNameを持つ全てのウィンドウインスタンスを返却します。
 void removeWindowOpenShutListener(WindowOpenShutListener listener)
          [概 要] ウィンドウ開閉リスナを削除します。
 java.awt.Window searchActiveWindow()
          [概 要] 管理中ウィンドウの中から、現在アクティブであるウィンドウを返却します。
 void setListenerList(java.util.List<WindowOpenShutListener> listenerList)
          [概 要] ウィンドウ開閉リスナのリストを設定します。
 void setWindowList(java.util.List<java.awt.Window> windowList)
          [概 要] 管理しているWindowインスタンスのリストを設定します。
 void showWindow(java.awt.Window window, boolean duplicate)
          [概 要] ウィンドウを表示します。
 void showWindow(java.awt.Window window, boolean duplicate, java.lang.String baseWindowName, int position)
          [概 要] 特定のウィンドウに隣接してウィンドウを表示します。
 void showWindow(java.awt.Window window, boolean duplicate, java.awt.Window baseWindow, int position)
          [概 要] 特定のウィンドウに隣接してウィンドウを表示します。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

BASE

public static final int BASE
showWindow時、基底ウィンドウの直上に表示する定数です。

関連項目:
定数フィールド値

RIGHT

public static final int RIGHT
showWindow時、基底ウィンドウの右隣に表示する定数です。

関連項目:
定数フィールド値

BOTTOM

public static final int BOTTOM
showWindow時、基底ウィンドウの下隣に表示する定数です。

関連項目:
定数フィールド値
メソッドの詳細

getListenerList

public java.util.List<WindowOpenShutListener> getListenerList()

[概 要]

ウィンドウ開閉リスナのリストを返却します。

[詳 細]

listenerListフィールドを返却します。

[備 考]

戻り値:
ウィンドウ開閉リスナのリスト

setListenerList

public void setListenerList(java.util.List<WindowOpenShutListener> listenerList)

[概 要]

ウィンドウ開閉リスナのリストを設定します。

[詳 細]

listenerListフィールドを設定します。

[備 考]

パラメータ:
listenerList - ウィンドウ開閉リスナのリスト

getWindowList

public java.util.List<java.awt.Window> getWindowList()

[概 要]

管理しているWindowインスタンスのリストを返却します。

[詳 細]

windowListフィールドを返却します。

[備 考]

戻り値:
管理しているWindowインスタンスのリスト

setWindowList

public void setWindowList(java.util.List<java.awt.Window> windowList)

[概 要]

管理しているWindowインスタンスのリストを設定します。

[詳 細]

windowListフィールドを設定します。

[備 考]

パラメータ:
windowList - 管理しているWindowインスタンスのリスト

getInstance

public static WindowManager getInstance()

[概 要]

シングルトンインスタンス取得メソッドです。

[詳 細]

windowManagerフィールドに保存されているインスタンスを返却します。

[備 考]

戻り値:
WindowManagerインスタンス

addWindowOpenShutListener

public void addWindowOpenShutListener(WindowOpenShutListener listener)

[概 要]

ウィンドウ開閉リスナを追加します。

[詳 細]

listenerListフィールドに引数listenerを追加します。

[備 考]

パラメータ:
listener - ウィンドウ開閉リスナ

removeWindowOpenShutListener

public void removeWindowOpenShutListener(WindowOpenShutListener listener)

[概 要]

ウィンドウ開閉リスナを削除します。

[詳 細]

listenerListフィールドから引数listenerを削除します。

[備 考]

パラメータ:
listener - ウィンドウ開閉リスナ

showWindow

public void showWindow(java.awt.Window window,
                       boolean duplicate)

[概 要]

ウィンドウを表示します。

[詳 細]

引数windowをsetVisible(true)します。
引数duplicateがfalse指定されており、既に同名のウィンドウがwindowListで 管理されていた場合、既存ウィンドウに対してsetVisible(true)を行います。
その際、引数windowはdispose()されます。

[備 考]

パラメータ:
window - 表示するウィンドウ
duplicate - true:多重起動可、false:多重起動不可

showWindow

public void showWindow(java.awt.Window window,
                       boolean duplicate,
                       java.lang.String baseWindowName,
                       int position)

[概 要]

特定のウィンドウに隣接してウィンドウを表示します。

[詳 細]

引数baseWindowNameを持つウィンドウの、
  1. 直上:WindowManager.BASE
  2. 右隣:WindowManager.RIGHT
  3. 下隣:WindowManager.BOTTOM
に引数windowを表示します。 baseWindowNameを持つウィンドウが存在しない場合は通常表示します。

[備 考]

パラメータ:
window - 表示するウィンドウ
duplicate - true:多重起動可、false:多重起動不可
baseWindowName - 隣接させるウィンドウの名前
position - 隣接位置

showWindow

public void showWindow(java.awt.Window window,
                       boolean duplicate,
                       java.awt.Window baseWindow,
                       int position)

[概 要]

特定のウィンドウに隣接してウィンドウを表示します。

[詳 細]

引数baseWindowNameを持つウィンドウの、
  1. 直上:WindowManager.BASE
  2. 右隣:WindowManager.RIGHT
  3. 下隣:WindowManager.BOTTOM
に引数windowを表示します。

[備 考]

パラメータ:
window - 表示するウィンドウ
duplicate - true:多重起動可、false:多重起動不可
baseWindow - 隣接させるウィンドウ
position - 隣接位置

getWindowByName

public java.awt.Window getWindowByName(java.lang.String windowName)

[概 要]

引数windowNameを持つウィンドウインスタンスを返却します。

[詳 細]

管理ウィンドウリストwindowListフィールドから、windowNameが setNameされているウィンドウを探し、返却します。
見つからなかった場合はnullを返却します。

[備 考]

同名のウィンドウが複数存在する場合、 最初に検出されたウィンドウが返却されます。

パラメータ:
windowName - 取得するウィンドウの名前
戻り値:
windowNameを名前として持つウィンドウ

getWindowsByName

public java.awt.Window[] getWindowsByName(java.lang.String windowName)

[概 要]

引数windowNameを持つ全てのウィンドウインスタンスを返却します。

[詳 細]

管理ウィンドウリストwindowListフィールドから、windowNameが setNameされている全てのウィンドウを探し、返却します。
見つからなかった場合は空のWindow配列を返却します。

[備 考]

パラメータ:
windowName - 取得するウィンドウの名前
戻り値:
windowNameを名前として持つ全てのウィンドウの配列

existSameNameWindow

public boolean existSameNameWindow(java.awt.Window window)

[概 要]

同名のWindowが管理されているかどうか調べます。

[詳 細]

引数windowと同じ名前がsetNameされているウィンドウがあるか、 windowListフィールドを調べます。

[備 考]

パラメータ:
window - 調査対象ウィンドウ
戻り値:
true:既管理、false:未管理

existSameNameWindow

public boolean existSameNameWindow(java.lang.String windowName)

[概 要]

同名のWindowが管理されているかどうか調べます。

[詳 細]

引数windowNameと同じ名前がsetNameされているウィンドウがあるか、 windowListフィールドを調べます。

[備 考]

パラメータ:
windowName - 調査対象ウィンドウの名前
戻り値:
true:既管理、false:未管理

searchActiveWindow

public java.awt.Window searchActiveWindow()

[概 要]

管理中ウィンドウの中から、現在アクティブであるウィンドウを返却します。

[詳 細]

windowListフィールドの中から、isActiveメソッドがtrueであるウィンドウを 探して返却します。
アクティブなウィンドウが存在しない場合はnullを返却します。

[備 考]

戻り値:
アクティブなウィンドウ


Copyright © 2008-2010. All Rights Reserved.