分割方向を設定する

広告

デフォルトでは全体を左右に分割しますが、上下に分割する事も可能です。ここでは分割方向を設定する方法を確認します。

分割方向を設定するにはコンストラクタで設定する方法とメソッドを使って設定するがあります。まずはコンストラクタで設定する方法を確認します。

指定された方向に、連続したレイアウトではなく設定された、新しい 
JSplitPane を作成します。

パラメータ:
  newOrientation - JSplitPane.HORIZONTAL_SPLIT または
    JSplitPane.VERTICAL_SPLIT
例外: 
  IllegalArgumentException - orientation が HORIZONTAL_SPLIT または 
    VERTICAL_SPLIT のどちらかでない場合

引数に分割する方向を表すint型の値を指定します。設定出来る値は次の通りです。

分割する方向
JSplitPane.HORIZONTAL_SPLIT左右に分割する
JSplitPane.VERTICAL_SPLIT上下に分割する

実際の使い方は次のようになります。

JSplitPane splitpane = new JSplitPane(JSplitPane.VERTICAL_SPLIT);

メソッドを使って設定する

一度作成されたスプリットペインの分割方向を設定する方法を確認します。JSplitPaneクラスで用意されている「setOrientation」メソッドを使います。

方向、またはスプリッタがどのように分割されるかを設定します。オプション
は次のとおりです。

  JSplitPane.VERTICAL_SPLIT (コンポーネントの上または下の方向)
  JSplitPane.HORIZONTAL_SPLIT (コンポーネントの左または右の方向)

パラメータ:
  orientation - 方向を指定する整数値 
例外: 
  IllegalArgumentException - 方向が HORIZONTAL_SPLIT でも VERTICAL_SPLIT
    でもない場合

引数に分割する方向を表すint型の値を指定します。設定出来る値はコンストラクタの場合と同じです。

実際の使い方は次のようになります。

JSplitPane splitpane = new JSplitPane();
splitpane.setOrientation(JSplitPane.VERTICAL_SPLIT);

サンプルプログラム

では簡単なサンプルを作成して試してみます。

JSplitPaneTest2.java

import javax.swing.*;
import java.awt.BorderLayout;

public class JSplitPaneTest2 extends JFrame{

  public static void main(String[] args){
    JSplitPaneTest2 frame = new JSplitPaneTest2();

    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setBounds(10, 10, 300, 200);
    frame.setTitle("タイトル");
    frame.setVisible(true);
  }

  JSplitPaneTest2(){
    JSplitPane splitpane = new JSplitPane();
    splitpane.setOrientation(JSplitPane.VERTICAL_SPLIT);

    getContentPane().add(splitpane, BorderLayout.CENTER);
  }
}

上記をコンパイルした後で実行すると次のように表示されます。

JSplitPaneで分割する方向を設定する

( Written by Tatsuo Ikura )

関連記事 (一部広告含む)