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

クラスJSplitPane

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

    @JavaBean(defaultProperty="UI")
    public class JSplitPane
    extends JComponent
    implements Accessible
    JSplitPaneは、2つ(2つだけ)のComponentを分割するために使用されます。 2つのComponentはLook & Feelの実装を基準にしてグラフィカルに分割されます。その後、ユーザーは2つのComponentを対話的にサイズ変更できるようになります。 JSplitPaneの使用方法については、「The Java Tutorial」の「How to Use Split Panes」を参照してください。

    分割ペイン内の2つのコンポーネントは、JSplitPane.HORIZONTAL_SPLITを使って左右に、JSplitPane.VERTICAL_SPLITを使って上下に並べることができます。 Componentのサイズを変更するには、JSplitPaneの方向に応じてlocationが新しいxまたはyの位置であるsetDividerLocationを呼び出すことをお勧めします。

    Componentのサイズを目的のサイズに変更するには、resetToPreferredSizesを呼び出します。

    ユーザーがComponentのサイズを変更するときは、Componentsの最小サイズを使用して、Componentに設定できる最大または最小の位置を決めます。 したがって、2つのコンポーネントの最小サイズが分割ペインのサイズより大きい場合、ディバイダはコンポーネントのサイズ変更を許可しません。 JComponentの最小サイズの変更方法については、JComponent.setMinimumSize(java.awt.Dimension)を参照してください。

    ユーザーが分割ペインのサイズを変更すると、resizeWeightプロパティに基づき2つのコンポーネントの間に新しいスペースが分配されます。 デフォルトの値0は右または下のコンポーネントがすべてのスペースを取得することを示し、値1は左または上のコンポーネントがすべてのスペースを取得することを示します。

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

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

    導入されたバージョン:
    1.2
    関連項目:
    setDividerLocation(double), resetToPreferredSizes(), 「直列化されたフォーム」
    • フィールドの詳細

      • VERTICAL_SPLIT

        public static final int VERTICAL_SPLIT
        垂直分割は、Componentがy軸に沿って分割されることを示します。 たとえば2つのComponentが上下に並ぶように分割されることを示します。
        関連項目:
        定数フィールド値
      • HORIZONTAL_SPLIT

        public static final int HORIZONTAL_SPLIT
        水平分割は、Componentがx軸に沿って分割されることを示します。 たとえば2つのComponentが左右に並ぶように分割されることを示します。
        関連項目:
        定数フィールド値
      • LEFT

        public static final String LEFT
        Componentをもう一方のComponentの左に追加するときに使います。
        関連項目:
        定数フィールド値
      • RIGHT

        public static final String RIGHT
        Componentをもう一方のComponentの右に追加するときに使います。
        関連項目:
        定数フィールド値
      • TOP

        public static final String TOP
        Componentをもう一方のComponentの上に追加するときに使います。
        関連項目:
        定数フィールド値
      • BOTTOM

        public static final String BOTTOM
        Componentをもう一方のComponentの下に追加するときに使います。
        関連項目:
        定数フィールド値
      • DIVIDER

        public static final String DIVIDER
        ディバイダを表すComponentを追加するときに使います。
        関連項目:
        定数フィールド値
      • ORIENTATION_PROPERTY

        public static final String ORIENTATION_PROPERTY
        方向(水平または垂直)のバウンド・プロパティ名です。
        関連項目:
        定数フィールド値
      • CONTINUOUS_LAYOUT_PROPERTY

        public static final String CONTINUOUS_LAYOUT_PROPERTY
        continuousLayoutのバウンド・プロパティ名です。
        関連項目:
        定数フィールド値
      • DIVIDER_SIZE_PROPERTY

        public static final String DIVIDER_SIZE_PROPERTY
        ボーダーのバウンド・プロパティ名です。
        関連項目:
        定数フィールド値
      • ONE_TOUCH_EXPANDABLE_PROPERTY

        public static final String ONE_TOUCH_EXPANDABLE_PROPERTY
        oneTouchExpandableのバウンド・プロパティです。
        関連項目:
        定数フィールド値
      • LAST_DIVIDER_LOCATION_PROPERTY

        public static final String LAST_DIVIDER_LOCATION_PROPERTY
        lastLocationのバウンド・プロパティです。
        関連項目:
        定数フィールド値
      • DIVIDER_LOCATION_PROPERTY

        public static final String DIVIDER_LOCATION_PROPERTY
        dividerLocationのバウンド・プロパティです。
        導入されたバージョン:
        1.3
        関連項目:
        定数フィールド値
      • RESIZE_WEIGHT_PROPERTY

        public static final String RESIZE_WEIGHT_PROPERTY
        ウエイトのバウンド・プロパティです。
        導入されたバージョン:
        1.3
        関連項目:
        定数フィールド値
      • orientation

        protected int orientation
        ビューを分割する方法です。
      • continuousLayout

        protected boolean continuousLayout
        サイズ変更の際、ビューが継続して再表示されるかどうかを示します。
      • leftComponent

        protected Component leftComponent
        左または上のコンポーネントです。
      • rightComponent

        protected Component rightComponent
        右または下のコンポーネントです。
      • dividerSize

        protected int dividerSize
        ディバイダのサイズです。
      • oneTouchExpandable

        protected boolean oneTouchExpandable
        スプリットぺインをすばやく展開する/収納するために提供される小さなウィジェットです。
      • lastDividerLocation

        protected int lastDividerLocation
        スプリットぺインの以前の位置です。
    • コンストラクタの詳細

      • JSplitPane

        public JSplitPane()
        コンポーネントの2つのボタンを使って、水平方向に子コンポーネントが並ぶように設定された新しいJSplitPaneを作成します。
      • JSplitPane

        @ConstructorProperties("orientation")
        public JSplitPane​(int newOrientation)
        指定された方向で構成されたで新しいJSplitPaneを作成します。
        パラメータ:
        newOrientation - JSplitPane.HORIZONTAL_SPLITまたはJSplitPane.VERTICAL_SPLIT
        例外:
        IllegalArgumentException - orientationがHORIZONTAL_SPLITまたはVERTICAL_SPLITのどちらでもない場合。
      • JSplitPane

        public JSplitPane​(int newOrientation,
                          boolean newContinuousLayout)
        方向と再描画のスタイルを指定して新しいJSplitPaneを作成します。
        パラメータ:
        newOrientation - JSplitPane.HORIZONTAL_SPLITまたはJSplitPane.VERTICAL_SPLIT
        newContinuousLayout - boolean値。ディバイダの位置の変更に合わせてコンポーネントが連続して再描画されるようにする場合はtrue、ディバイダの位置の変更が終了するまで再描画を待機する場合はfalse
        例外:
        IllegalArgumentException - orientationがHORIZONTAL_SPLITまたはVERTICAL_SPLITのいずれでもない場合
      • JSplitPane

        public JSplitPane​(int newOrientation,
                          Component newLeftComponent,
                          Component newRightComponent)
        指定された方向と指定されたコンポーネントを使用して新しいJSplitPaneを作成します。
        パラメータ:
        newOrientation - JSplitPane.HORIZONTAL_SPLITまたはJSplitPane.VERTICAL_SPLIT
        newLeftComponent - 水平方向に分割されたペインの左、または垂直方向に分割されたペインの上に表示されるComponent
        newRightComponent - 水平方向に分割されたペインの右、または垂直方向に分割されたペインの下に表示されるComponent
        例外:
        IllegalArgumentException - orientationがHORIZONTAL_SPLITまたはVERTICAL_SPLITのどちらでもない場合
      • JSplitPane

        public JSplitPane​(int newOrientation,
                          boolean newContinuousLayout,
                          Component newLeftComponent,
                          Component newRightComponent)
        指定された方向、再描画スタイル、指定されたコンポーネントを使用して新しいJSplitPaneを作成します。
        パラメータ:
        newOrientation - JSplitPane.HORIZONTAL_SPLITまたはJSplitPane.VERTICAL_SPLIT
        newContinuousLayout - boolean値。ディバイダの位置の変更に合わせてコンポーネントが連続して再描画されるようにする場合はtrue、ディバイダの位置の変更が終了するまで再描画を待機する場合はfalse
        newLeftComponent - 水平方向に分割されたペインの左、または垂直方向に分割されたペインの上に表示されるComponent
        newRightComponent - 水平方向に分割されたペインの右、または垂直方向に分割されたペインの下に表示されるComponent
        例外:
        IllegalArgumentException - orientationがHORIZONTAL_SPLITまたはVERTICAL_SPLITのいずれでもない場合
    • メソッドの詳細

      • getUI

        @BeanProperty(bound=false,
                      expert=true,
                      description="The L&F object that renders this component.")
        public SplitPaneUI getUI()
        現在のルック・アンド・フィールを提供しているSplitPaneUIを返します。
        オーバーライド:
        クラスJComponentgetUI
        戻り値:
        このコンポーネントをレンダリングするSplitPaneUIオブジェクト
      • updateUI

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

        @BeanProperty(description="The size of the divider.")
        public void setDividerSize​(int newSize)
        ディバイダのサイズを設定します。
        パラメータ:
        newSize - ディバイダのサイズをピクセル数で指定するint値
      • getDividerSize

        public int getDividerSize()
        ディバイダのサイズを返します。
        戻り値:
        ディバイダのサイズをピクセル数で指定するint値
      • setLeftComponent

        public void setLeftComponent​(Component comp)
        コンポーネントをディバイダの左(上)に設定します。
        パラメータ:
        comp - その位置に表示するComponent
      • getLeftComponent

        @BeanProperty(bound=false,
                      preferred=true,
                      description="The component to the left (or above) the divider.")
        public Component getLeftComponent()
        ディバイダの左(上)にあるコンポーネントを返します。
        戻り値:
        その位置に表示されているComponent
      • setTopComponent

        @BeanProperty(bound=false,
                      description="The component above, or to the left of the divider.")
        public void setTopComponent​(Component comp)
        コンポーネントをディバイダの上または左に設定します。
        パラメータ:
        comp - その位置に表示するComponent
      • getTopComponent

        public Component getTopComponent()
        ディバイダの上または左のコンポーネントを返します。
        戻り値:
        その位置に表示されているComponent
      • setRightComponent

        @BeanProperty(bound=false,
                      preferred=true,
                      description="The component to the right (or below) the divider.")
        public void setRightComponent​(Component comp)
        ディバイダの右(または下)のコンポーネントを設定します。
        パラメータ:
        comp - その位置に表示するComponent
      • getRightComponent

        public Component getRightComponent()
        ディバイダの右(または下)のコンポーネントを返します。
        戻り値:
        その位置に表示されているComponent
      • setBottomComponent

        @BeanProperty(bound=false,
                      description="The component below, or to the right of the divider.")
        public void setBottomComponent​(Component comp)
        コンポーネントをディバイダの下または右に設定します。
        パラメータ:
        comp - その位置に表示するComponent
      • getBottomComponent

        public Component getBottomComponent()
        ディバイダの下または右のコンポーネントを返します。
        戻り値:
        その位置に表示されているComponent
      • setOneTouchExpandable

        @BeanProperty(description="UI widget on the divider to quickly expand/collapse the divider.")
        public void setOneTouchExpandable​(boolean newValue)
        oneTouchExpandableプロパティの値を設定します。JSplitPaneがディバイダのUIウィジェットを提供し、ディバイダを迅速に展開/収納するには、この値をtrueに設定する必要があります。 このプロパティのデフォルト値はfalseです。 ルック・アンド・フィールによっては、ワンタッチの展開がサポートされていない場合があります。その場合、このプロパティは無視されます。
        パラメータ:
        newValue - 分割ペインが展開/折りたたみウィジェットを提供するように指定する場合はtrue
        関連項目:
        isOneTouchExpandable()
      • isOneTouchExpandable

        public boolean isOneTouchExpandable()
        oneTouchExpandableプロパティを取得します。
        戻り値:
        oneTouchExpandableプロパティの値
        関連項目:
        setOneTouchExpandable(boolean)
      • setLastDividerLocation

        @BeanProperty(description="The last location the divider was at.")
        public void setLastDividerLocation​(int newLastLocation)
        以前にディバイダが置かれていた位置をnewLastLocationに設定します。
        パラメータ:
        newLastLocation - ディバイダの以前の位置を、ペインの左(または上)端からディバイダの左(または上)端までのピクセル数で指定する整数値
      • getLastDividerLocation

        public int getLastDividerLocation()
        ディバイダが置かれていた以前の位置を返します。
        戻り値:
        ディバイダの以前の位置を、ペインの左(または上)端からディバイダの左(または上)端までのピクセル数で指定する整数値
      • setOrientation

        @BeanProperty(enumerationValues={"JSplitPane.HORIZONTAL_SPLIT","JSplitPane.VERTICAL_SPLIT"},
                      description="The orientation, or how the splitter is divided.")
        public void setOrientation​(int orientation)
        方向、またはスプリッタがどのように分割されるかを設定します。 オプションは次のとおりです。
        • JSplitPane.VERTICAL_SPLIT (コンポーネントの上または下の方向)
        • JSplitPane.HORIZONTAL_SPLIT (コンポーネントの左または右の方向)
        パラメータ:
        orientation - 方向を指定する整数値
        例外:
        IllegalArgumentException - 方向がHORIZONTAL_SPLITでもVERTICAL_SPLITでもない場合。
      • getOrientation

        public int getOrientation()
        方向を返します。
        戻り値:
        方向を指定する整数値
        関連項目:
        setOrientation(int)
      • setContinuousLayout

        @BeanProperty(description="Whether the child components are continuously redisplayed and laid out during user intervention.")
        public void setContinuousLayout​(boolean newContinuousLayout)
        continuousLayoutプロパティの値を設定します。ユーザーが操作したときに子コンポーネントが連続的に再描画されて配置されるようにするには、この値をtrueに設定する必要があります。 このプロパティのデフォルト値はルック・アンド・フィールに依存します。 ルック・アンド・フィールによっては、連続したレイアウトがサポートされていない場合があります。その場合、このプロパティは無視されます。
        パラメータ:
        newContinuousLayout - ディバイダの位置が変更されたときにコンポーネントが連続的に再描画される場合はtrue
        関連項目:
        isContinuousLayout()
      • isContinuousLayout

        public boolean isContinuousLayout()
        continuousLayoutプロパティを取得します。
        戻り値:
        continuousLayoutプロパティの値
        関連項目:
        setContinuousLayout(boolean)
      • setResizeWeight

        @BeanProperty(description="Specifies how to distribute extra space when the split pane resizes.")
        public void setResizeWeight​(double value)
        分割ペインが変更されたときの余分なスペースの配分方法を指定します。 デフォルトの値0は、左または上のコンポーネントが固定され右または下のコンポーネントがすべての余分なスペースを取得することを示し、値1は右または下のコンポーネントが固定され左または上のコンポーネントがすべての余分なスペースを取得することを示します。 具体的には、左/上のコンポーネントは、(ウェイト * 差)の余分なスペースを取得し、右/下のコンポーネントは、((1 - ウェイト) * 差) の余分なスペースを取得します。
        パラメータ:
        value - 上記のとおり
        例外:
        IllegalArgumentException - valueが0より小さいか、1より大きい場合
        導入されたバージョン:
        1.3
      • getResizeWeight

        public double getResizeWeight()
        余分なスペースの配分方法を決める数を返します。
        戻り値:
        分割ペインのサイズ変更時の余分なスペースの配分方法
        導入されたバージョン:
        1.3
      • resetToPreferredSizes

        public void resetToPreferredSizes()
        子コンポーネントの適切なサイズに基づきJSplitPaneを配置します。 通常は、これによってディバイダの位置が変わります。
      • setDividerLocation

        @BeanProperty(description="The location of the divider.")
        public void setDividerLocation​(double proportionalLocation)
        JSplitPaneのサイズのパーセンテージとしてディバイダの位置を設定します。

        このメソッドはsetDividerLocation(int)に基づいて実装されます。 このメソッドは現在のサイズに基づき分割ペインのサイズをただちに変更します。 分割ペインがスクリーン上で正しく実現されない場合、新しいディバイダの位置は現在のサイズ* proportionalLocationが0になり、このメソッドの効果はありません。

        パラメータ:
        proportionalLocation - 0 (上または左)から1.0 (下または右)までのパーセンテージを指定する倍精度浮動小数点値
        例外:
        IllegalArgumentException - 指定された位置が0より小さいか、1.0より大きい場合
      • setDividerLocation

        @BeanProperty(description="The location of the divider.")
        public void setDividerLocation​(int location)
        ディバイダの位置を設定します。 これは、ルック・アンド・フィールの実装に渡されてからリスナーに通知されます。 0より小さい値は、ディバイダが左または上のコンポーネントの適切なサイズの値にリセットされる必要があることを意味しています。 リスナーに通知してから、最終的なディバイダの位置がsetLastDividerLocationにより変更されます。
        パラメータ:
        location - UI固有の値(通常はピクセル数)を指定するint値
      • getDividerLocation

        public int getDividerLocation()
        setDividerLocationに渡された最終値を返します。 このメソッドで返された値は、setDividerLocationに渡された値が現在のサイズより大きい場合は、実際のディバイダの位置と異なる場合があります。
        戻り値:
        ディバイダの位置を指定するint値
      • getMinimumDividerLocation

        @BeanProperty(bound=false,
                      description="The minimum location of the divider from the L&F.")
        public int getMinimumDividerLocation()
        ルック・アンド・フィールの実装からディバイダの最小の位置を返します。
        戻り値:
        最小の位置のUI固有の値(通常はピクセル数)を指定するint値。UIがnullの場合は -1
      • getMaximumDividerLocation

        @BeanProperty(bound=false)
        public int getMaximumDividerLocation()
        ルック・アンド・フィールの実装からディバイダの最大の位置を返します。
        戻り値:
        最大の位置のUI固有の値(通常はピクセル数)を指定するint値。UIがnullの場合は -1
      • remove

        public void remove​(int index)
        指定されたインデックスのComponentを削除します。 必要に応じて、leftComponentおよびrightComponentインスタンス変数を変更してから、スーパー・クラスにメッセージを送ります。
        オーバーライド:
        remove、クラス: Container
        パラメータ:
        index - 削除するコンポーネントを指定するint値。1では左または上のコンポーネントが指定され、2では下または右のコンポーネントが指定される
        関連項目:
        Container.add(java.awt.Component), Container.invalidate(), Container.validate(), Container.getComponentCount()
      • addImpl

        protected void addImpl​(Component comp,
                               Object constraints,
                               int index)
        この分割ペインに指定したコンポーネントを追加します。 constraintsが左または上あるいは右または下の子コンポーネントを識別し、その識別子を持つコンポーネントが以前に追加されている場合は、それを削除してから、その位置にcompを追加します。 constraintsが既知の識別子でない場合、レイアウト・マネージャはIllegalArgumentExceptionをスローします。

        指定できる制約オブジェクト(String)は次のとおりです。

        • JSplitPane.TOP
        • JSplitPane.LEFT
        • JSplitPane.BOTTOM
        • JSplitPane.RIGHT
        constraintsオブジェクトがnullの場合、利用可能な最初の位置にコンポーネントが追加されます(開いている場合は左または上、そうでない場合は右または下)。

        オーバーライド:
        addImpl、クラス: Container
        パラメータ:
        comp - 追加するコンポーネント
        constraints - このコンポーネントのレイアウト制約(位置)を指定するObject
        index - コンテナ・リスト内のインデックスを指定するint値。
        例外:
        IllegalArgumentException - constraintsオブジェクトが既存のコンポーネントに一致しない場合
        関連項目:
        Container.addImpl(Component, Object, int)
      • paramString

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

        @BeanProperty(bound=false,
                      expert=true,
                      description="The AccessibleContext associated with this SplitPane.")
        public AccessibleContext getAccessibleContext()
        このJSplitPaneに関連付けられたAccessibleContextを取得します。 分割ペインの場合、AccessibleContextはAccessibleJSplitPaneの形式を取ります。 必要に応じて新規のAccessibleJSplitPaneインスタンスが作成されます。
        定義:
        getAccessibleContext、インタフェース: Accessible
        オーバーライド:
        getAccessibleContext、クラス: Component
        戻り値:
        このJSplitPaneのAccessibleContextとして機能するAccessibleJSplitPane