モジュール java.desktop
パッケージ java.awt

クラスWindow

java.lang.Object
すべての実装されたインタフェース:
ImageObserver, MenuContainer, Serializable, Accessible
直系の既知のサブクラス:
BasicToolBarUI.DragWindow, Dialog, Frame, JWindow

public class Window extends Container implements Accessible
Windowオブジェクトは、ボーダーやメニュー・バーのないトップ・レベルのウィンドウです。 ウィンドウのデフォルトのレイアウトはBorderLayoutです。

ウィンドウの作成時には、フレーム、ダイアログ、またはほかのウィンドウをそのオーナーとして定義しなければいけません。

マルチスクリーン環境では、Window(Window, GraphicsConfiguration)Windowを構築することにより、別のスクリーン・デバイス上にWindowを生成できます。 GraphicsConfigurationオブジェクトは、ターゲット画面デバイスのいずれかのGraphicsConfigurationオブジェクトです。

デスクトップ・エリアが、物理的に複数のスクリーン・デバイスにまたがる仮想デバイス・マルチスクリーン環境では、すべての設定の境界は仮想デバイスの座標体系を基準にしています。 仮想座標体系の原点は物理的なプライマリ・スクリーンの左上隅にあります。 仮想デバイスのプライマリ・スクリーンの位置によっては、次の図に示すとおり負の座標も可能です。

4つの物理画面を含む仮想デバイスを示す図。 物理的なプライマリ・スクリーンは座標(0,0)を示し、ほかのスクリーンは(-80,-100)を示す。

このような環境では、setLocationを呼び出すとき、このメソッドに仮想座標を渡す必要があります。 同様に、WindowgetLocationOnScreenを呼び出すと、仮想デバイス座標が返されます。 仮想座標系内の原点を検索するには、GraphicsConfigurationgetBoundsメソッドを呼び出します。

次のコードでは、Windowの位置を対応するGraphicsConfigurationの物理的スクリーンの原点を基準にして(10, 10)に設定します。 GraphicsConfigurationの境界が考慮されない場合、Windowの位置は仮想座標系を基準にして(10, 10)に設定され、指定されたGraphicsConfigurationの物理的スクリーンとは異なる可能性のある物理的なプライマリ・スクリーンに表示されます。

      Window w = new Window(Window owner, GraphicsConfiguration gc);
      Rectangle bounds = gc.getBounds();
      w.setLocation(10 + bounds.x, 10 + bounds.y);
 

ノート: トップレベル・ウィンドウ(WindowFrame、およびDialog)の位置とサイズはデスクトップのウィンドウ管理システムによって制御されます。 setLocationsetSize、およびsetBoundsへの呼出しは要求であり(命令でなく)、ウィンドウ管理システムに転送されます。 これらの要求を実行するために必要なすべての処理が行われます。 しかし、場合によって、ウィンドウ管理システムがそれらの要求を無視したり、デスクトップ設定により厳密に合わせるようにWindowを配置し、サイズ設定するために、要求された幾何学的図形を変更したりすることがあります。

ロー、シャドウ、モー・ション・エフェクト、アニメーションなどの視覚効果は、デスクトップ・ウィンドウ管理システムによってウィンドウに適用できます。 これらはAWTの知識および制御外であるため、この仕様の目的で、トップレベル・ウィンドウの一部とはみなされません。

ネイティブ・イベント処理は本質的に非同期なため、getBoundsgetLocationgetLocationOnScreen、およびgetSizeによって返される結果には、最新の要求が処理されるまで、画面上のWindowの実際の幾何学的図形が反映されていないことがあります。 後続の要求の処理時に、ウィンドウ管理システムが要求を実行するに従い、画面の幾何学的図形の値が更新されます。

アプリケーションでは、不可視のWindowのサイズおよび位置を任意で設定できますが、その後、Windowが可視状態になると、ウィンドウ管理システムによってサイズや位置が変更される場合があります。 新しい幾何学的図形を示すために、1つ以上のComponentEventが生成されます。

ウィンドウは、WindowOpened、WindowClosed、WindowGainedFocus、およびWindowLostFocusのWindowEventを生成できます。

導入されたバージョン:
1.0
関連項目: