モジュール java.desktop
パッケージ javax.swing

クラスJDesktopPane

すべての実装されたインタフェース:
ImageObserver, MenuContainer, Serializable, Accessible

@JavaBean(defaultProperty="UI") public class JDesktopPane extends JLayeredPane implements Accessible
マルチドキュメント・インタフェースまたは仮想デスクトップを生成するコンテナです。 JInternalFrameオブジェクトを生成し、JDesktopPaneに追加します。 JDesktopPaneJLayeredPaneを拡張し、オーバーラップの可能性がある内部フレームを管理します。 また、現在のルック・アンド・フィール (L&F)に対してUIクラスで設定されたDesktopManagerのインスタンスへの参照も維持します。 JDesktopPaneはボーダーをサポートしません。

このクラスは通常、JInternalFramesの親として使用され、プラグイン可能なDesktopManagerオブジェクトをJInternalFramesに提供します。 L&F別に実装されるinstallUIで、desktopManager変数を適切に設定します。 JInternalFrameの親がJDesktopPaneの場合、クローズやサイズ変更などの動作のほとんどをdesktopManagerに委譲します。

詳細と使用例については、「The Java Tutorial」の「How to Use Internal Frames」を参照してください。

警告: Swingはスレッドに対して安全ではありません。 詳細は、「Swing's Threading Policy」を参照してください。

警告: このクラスの直列化されたオブジェクトは、今後のSwingリリースと互換ではなくなる予定です。 現在の直列化のサポートは、短期間の格納や、同じバージョンのSwingを実行するアプリケーション間のRMIに適しています。 1.4では、すべてのJavaBeansの長期ストレージのサポートがjava.beansパッケージに追加されました。 XMLEncoderを参照してください。

導入されたバージョン:
1.2
関連項目:
  • フィールド詳細

    • LIVE_DRAG_MODE

      public static final int LIVE_DRAG_MODE
      ドラッグの対象となっている項目のコンテンツ全体をデスクトップ・ペイン内に表示することを示します。
      関連項目:
    • OUTLINE_DRAG_MODE

      public static final int OUTLINE_DRAG_MODE
      ドラッグの対象となっている項目のアウトラインだけをデスクトップ・ペイン内に表示することを示します。
      関連項目:
  • コンストラクタの詳細

    • JDesktopPane

      public JDesktopPane()
      新しいJDesktopPaneを作成します。
  • メソッドの詳細

    • getUI

      public DesktopPaneUI getUI()
      このコンポーネントをレンダリングするL&Fオブジェクトを返します。
      オーバーライド:
      クラスJComponentgetUI
      戻り値:
      このコンポーネントをレンダリングするDesktopPaneUIオブジェクト
    • setUI

      @BeanProperty(hidden=true, visualUpdate=true, description="The UI object that implements the Component\'s LookAndFeel.") public void setUI(DesktopPaneUI ui)
      このコンポーネントをレンダリングするL&Fオブジェクトを設定します。
      パラメータ:
      ui - DesktopPaneUIのL&Fオブジェクト
      関連項目:
    • setDragMode

      @BeanProperty(enumerationValues={"JDesktopPane.LIVE_DRAG_MODE","JDesktopPane.OUTLINE_DRAG_MODE"}, description="Dragging style for internal frame children.") public void setDragMode(int dragMode)
      デスクトップ・ペインで使用される「ドラッグ・スタイル」を設定します。 パフォーマンス上または表示上の理由で、別のモードに変更することができます。
      パラメータ:
      dragMode - デスクトップの項目に使用するドラッグのスタイル
      導入されたバージョン:
      1.3
      関連項目:
    • getDragMode

      public int getDragMode()
      デスクトップ・ペインで現在使用されている「ドラッグ・スタイル」を取得します。
      戻り値:
      Live_DRAG_MODEまたはOUTLINE_DRAG_MODE
      導入されたバージョン:
      1.3
      関連項目:
    • getDesktopManager

      public DesktopManager getDesktopManager()
      デスクトップ固有のUIアクションを処理するDesktopMangerを返します。
      戻り値:
      デスクトップ固有のUIアクションを処理するDesktopManger
    • setDesktopManager

      @BeanProperty(description="Desktop manager to handle the internal frames in the desktop pane.") public void setDesktopManager(DesktopManager d)
      デスクトップ固有のUIアクションを処理するDesktopMangerを設定します。 これをLookAndFeelでオーバーライドしてもかまいません。
      パラメータ:
      d - 使用するDesktopManager
    • updateUI

      public void updateUI()
      L&Fが変更されたことを示す、UIManagerからの通知です。 現在のUIオブジェクトをUIManagerの最新バージョンに置き換えます。
      オーバーライド:
      updateUI 、クラス:  JComponent
      関連項目:
    • getUIClassID

      @BeanProperty(bound=false) public String getUIClassID()
      このコンポーネントをレンダリングするL&Fクラスの名前を返します。
      オーバーライド:
      getUIClassID 、クラス:  JComponent
      戻り値:
      DesktopPaneUIの文字列
      関連項目:
    • getAllFrames

      @BeanProperty(bound=false) public JInternalFrame[] getAllFrames()
      現在デスクトップに表示されているすべてのJInternalFramesを返します。 展開表示されているフレームだけでなく、アイコン化されているフレームも返します。
      戻り値:
      JInternalFrameオブジェクトの配列
    • getSelectedFrame

      public JInternalFrame getSelectedFrame()
      このJDesktopPaneの現在アクティブなJInternalFrameを返します。現在JInternalFrameがアクティブでない場合は、nullを返します。
      戻り値:
      現在アクティブなJInternalFrameまたはnull
      導入されたバージョン:
      1.3
    • setSelectedFrame

      public void setSelectedFrame(JInternalFrame f)
      このJDesktopPaneに現在アクティブなJInternalFrameを設定します。 このメソッドは、JDesktopPaneとプラットフォーム実装コード間のパッケージのギャップを埋め合わせるために使用されます。直接呼び出さないでください。 フレームを視覚的に選択するために、クライアントはJInternalFrame.setSelected(true)を呼び出してフレームをアクティブにする必要があります。
      パラメータ:
      f - 現在選択されている内部フレーム
      導入されたバージョン:
      1.3
      関連項目:
    • getAllFramesInLayer

      public JInternalFrame[] getAllFramesInLayer(int layer)
      デスクトップの指定したレイヤーに現在表示されているすべてのJInternalFramesを返します。 展開表示されているフレームだけでなく、アイコン化されているフレームも返します。
      パラメータ:
      layer - デスクトップ・レイヤーを指定する整数値
      戻り値:
      JInternalFrameオブジェクトの配列
      関連項目:
    • selectFrame

      public JInternalFrame selectFrame(boolean forward)
      このデスクトップ・ペイン内の次のJInternalFrameを選択します。
      パラメータ:
      forward - 選択する方向を示すboolean値。前方の場合はtrue、後方の場合はfalse
      戻り値:
      選択されたJInternalFrame。何も選択されなかった場合はnull
      導入されたバージョン:
      1.6
    • addImpl

      protected void addImpl(Component comp, Object constraints, int index)
      指定されたコンポーネントを、指定されたインデックスで、コンテナへ追加します。 また、このメソッドは、addLayoutComponentメソッドを使用して、指定された制約オブジェクトを使ってこのコンテナのレイアウトにコンポーネントを追加することをレイアウト・マネージャに通知します。

      制約は、使用されているレイアウト・マネージャで定義されます。 たとえばBorderLayoutクラスは、BorderLayout.NORTHBorderLayout.SOUTHBorderLayout.EASTBorderLayout.WEST、およびBorderLayout.CENTERの5つの制約を定義します。

      GridBagLayoutクラスにはGridBagConstraintsオブジェクトが必要です。 正しい型の制約オブジェクトを渡さないと、IllegalArgumentExceptionが発生します。

      現在のレイアウト・マネージャがLayoutManager2を実装する場合は、LayoutManager2.addLayoutComponent(Component,Object)が呼び出されます。 現在のレイアウト・マネージャがLayoutManager2を実装せず、制約がStringの場合は、LayoutManager.addLayoutComponent(String,Component)が呼び出されます。

      コンポーネントがこのコンテナの祖先ではなく、nullでない親を持つ場合は、このコンテナに追加される前に現在の親から削除されます。

      これは、プログラムがコンテナへのすべての追加要求を追跡する必要がある場合にオーバーライドするメソッドです。他のすべての追加メソッドはこれに従います。 オーバーライドするメソッドには、通常、メソッドのスーパークラス・バージョンへの呼出しを含めるようにしてください。

      super.addImpl(comp, constraints, index)

      このメソッドではレイアウトに関連する情報が変更されるため、コンポーネント階層が無効になります。 コンテナがすでに表示されている場合は、追加されたコンポーネントを表示するために、あとで階層を検証する必要があります。

      オーバーライド:
      addImpl、クラス: Container
      パラメータ:
      comp - 追加されるコンポーネント
      constraints - このコンポーネントのレイアウト制約を表現するオブジェクト
      index - コンポーネントを挿入するコンテナのリスト内での位置。-1は最後に挿入することを意味する
      導入されたバージョン:
      1.6
      関連項目:
    • remove

      public void remove(int index)
      このペインからインデックス付きのコンポーネントを削除します。 絶対インデックスであり、レイヤーは無視します。
      オーバーライド:
      remove 、クラス:  JLayeredPane
      パラメータ:
      index - 削除するコンポーネントを指定したint値
      導入されたバージョン:
      1.6
      関連項目:
    • removeAll

      public void removeAll()
      このコンテナからすべてのコンポーネントを削除します。
      オーバーライド:
      removeAll 、クラス:  JLayeredPane
      導入されたバージョン:
      1.6
      関連項目:
    • setComponentZOrder

      public void setComponentZOrder(Component comp, int index)
      指定されたコンポーネントを、コンテナの指定されたZ軸順のインデックスに移動します。 Z軸順によって、コンポーネントがペイントされる順番が決まります。Z軸順が最高のコンポーネントが最初にペイントされ、Z軸順が最低のコンポーネントが最後にペイントされます。 コンポーネントがオーバーラップされる場合、Z軸順の低いコンポーネントがZ軸順の高いコンポーネントの上にペイントされます。

      コンポーネントがほかのコンテナの子である場合、このコンテナに追加される前にそのコンテナから削除されます。 このメソッドとjava.awt.Container.add(Component, int)の違いは、前のコンテナから削除される際に、必要でないかぎり、またベースとなるネィティブ・ウィンドウ・システムによって許可されているかぎり、このメソッドがコンポーネントに対してremoveNotifyを呼び出さないことです。 このように、コンポーネントにキーボード・フォーカスがある場合、そのコンポーネントが新しい位置に移動されてもフォーカスを維持します。

      このプロパティは軽量のContainer以外のコンポーネントのみに適用されます。

      このメソッドではレイアウトに関連する情報が変更されるため、コンポーネント階層が無効になります。

      ノート: removeNotifyを呼び出さずに、別のコンテナへの重量コンポーネントのZ軸順の変更をサポートしていないプラットフォームもあります。 プラットフォームでこれがサポートされているかどうかを判断する方法はないため、開発者は推測しないようにしてください。

      オーバーライド:
      setComponentZOrder 、クラス:  Container
      パラメータ:
      comp - 移動されるコンポーネント
      index - コンポーネントを挿入するコンテナのリスト内での位置。getComponentCount()は末尾に挿入することを意味する
      導入されたバージョン:
      1.6
      関連項目:
    • paramString

      protected String paramString()
      このJDesktopPaneの文字列表現を返します。 このメソッドはデバッグ専用であり、返される文字列の内容および形式は実装によって異なる可能性があります。 返される文字列は空でもかまいませんが、nullにはできません。
      オーバーライド:
      paramString 、クラス:  JLayeredPane
      戻り値:
      このJDesktopPaneの文字列表現
    • getAccessibleContext

      @BeanProperty(bound=false) public AccessibleContext getAccessibleContext()
      このJDesktopPaneに関連付けられているAccessibleContextを取得します。 AccessibleContextはデスクトップ・ペインのフォームをAccessibleJDesktopPaneから取得します。 必要に応じて、新しいAccessibleJDesktopPaneインスタンスが作成されます。
      定義:
      getAccessibleContext、インタフェース: Accessible
      オーバーライド:
      getAccessibleContext 、クラス:  JLayeredPane
      戻り値:
      このJDesktopPaneAccessibleContextとして機能するAccessibleJDesktopPane