モジュール 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
    関連項目:
    JInternalFrame, JInternalFrame.JDesktopIcon, DesktopManager, 「直列化されたフォーム」
    • フィールドの詳細

      • OUTLINE_DRAG_MODE

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

      • JDesktopPane

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

      • getUI

        public DesktopPaneUI getUI()
        このコンポーネントをレンダリングするL&Fオブジェクトを返します。
        オーバーライド:
        クラスJComponentgetUI
        戻り値:
        このコンポーネントをレンダリングするDesktopPaneUIオブジェクト
      • 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
        関連項目:
        LIVE_DRAG_MODE, OUTLINE_DRAG_MODE
      • getDragMode

        public int getDragMode()
        デスクトップ・ペインで現在使用されている「ドラッグ・スタイル」を取得します。
        戻り値:
        Live_DRAG_MODEまたはOUTLINE_DRAG_MODE
        導入されたバージョン:
        1.3
        関連項目:
        setDragMode(int)
      • 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
        関連項目:
        JComponent.updateUI()
      • 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
        関連項目:
        JInternalFrame.setSelected(boolean)
      • getAllFramesInLayer

        public JInternalFrame[] getAllFramesInLayer​(int layer)
        デスクトップの指定したレイヤーに現在表示されているすべてのJInternalFramesを返します。 展開表示されているフレームだけでなく、アイコン化されているフレームも返します。
        パラメータ:
        layer - デスクトップ・レイヤーを指定する整数値
        戻り値:
        JInternalFrameオブジェクトの配列
        関連項目:
        JLayeredPane
      • 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
        関連項目:
        Container.add(Component), Container.add(Component, int), Container.add(Component, java.lang.Object), Container.invalidate(), LayoutManager, LayoutManager2
      • remove

        public void remove​(int index)
        このペインからインデックス付きのコンポーネントを削除します。 絶対インデックスであり、レイヤーは無視します。
        オーバーライド:
        remove、クラスJLayeredPane
        パラメータ:
        index - 削除するコンポーネントを指定したint値
        導入されたバージョン:
        1.6
        関連項目:
        JLayeredPane.getIndexOf(java.awt.Component)
      • 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
        関連項目:
        Container.getComponentZOrder(java.awt.Component), Container.invalidate()
      • 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