分割パネル
分割パネルはJSplitPaneクラスによって実装されます。これは、配置されている領域を2つの部分に分割するために使用されます。状況に応じて、水平または垂直に決定できます。2つの部分の間に仕切りがあります。仕切りの位置を調整します。 、2つのパーツの相対的なサイズをカスタマイズできます。
JSplitPaneクラスの一般的に使用される構築メソッド。
1. JSplitPane():デフォルトの分割パネルを作成します。デフォルトで水平に分割します。
2. JSplitPane(int newOrientation):分割方向を指定する分割パネルを作成しますnewOrientationに使用できる静的定数は、HORIZONTAL_SPLIT(水平分割)およびVERTICAL_SPLIT(垂直分割)です。
3. JSplitPane(int newOrientation、boolena newContinuousLayout):指定された分割方向で分割パネルを作成し、指定された方法で分割パネルを再描画します。newContinuousLayoutをtrueに設定すると、分割バーの位置を調整しながら継続的に再描画します。falseに設定すると、分割バーの位置を調整した場合にのみ再描画します。
JSplitPaneクラスで一般的に使用される構築メソッド。
方法 | 説明 |
---|---|
setOrientation(int orientation) | 分割パネルの分割方向を設定します |
setDividerLocation(int location) | 仕切りの絶対位置、つまり左側の幅または仕切りの上の高さを設定します |
setDividerLocation(double regularLocation) | 仕切りの相対的な位置、つまり、仕切りパネルのサイズに対する、仕切りの左側または上のサイズのパーセンテージを設定します |
setDividerSize(int newSize) | 仕切りの幅を設定します。デフォルトは5ピクセルです |
setLeftComponent(コンポーネントcomp) | コンポーネントを左側または仕切りの上に追加します |
setTopComponent(コンポーネントcomp) | 仕切りの上部または左側にコンポーネントを追加します |
setRightComponent(コンポーネントcomp) | コンポーネントをディバイダーの右または下に設定します |
setBottomComponent(コンポーネントcomp) | コンポーネントをディバイダーの下または右に設定します |
setOneTouchExpandable(boolean newValue) | 分割パネルがUIウィジェットを提供するかどうかを設定します。提供する場合はtrue、提供しない場合はfalse、デフォルトでは提供しません。 |
setContinuousLayout(boolean newContinuousLayout) | 仕切りバーの位置を調整するときの再描画方法を設定します。rueに設定すると、仕切りバーの位置を調整するプロセス中に連続的に再描画されます。falseに設定すると、仕切りバーの位置が調整された場合にのみ再描画されます。 |
分割パネルを作成します。コードは次のとおりです。
package study.czm;
import java.awt.Container;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JSplitPane;
public class Study {
public static void main(String[] args) {
JFrame jf = new JFrame();
jf.setTitle("表格组件");
jf.setSize(500, 400);
jf.setLocationRelativeTo(null);
jf.setDefaultCloseOperation(jf.EXIT_ON_CLOSE);
Container c = jf.getContentPane();
JSplitPane hSplitPane = new JSplitPane();// 创建一个水平方向的分割面板
hSplitPane.setLeftComponent(new JLabel("左边"));// 在面板左侧添加一个组件
JSplitPane vSplitPane = new JSplitPane(JSplitPane.VERTICAL_SPLIT);// 创建一个垂直方向的分割面板
vSplitPane.setOneTouchExpandable(true);// 提供UI小部件
hSplitPane.setRightComponent(vSplitPane);// 将垂直的分割面板添加到水平分割面板的右侧
vSplitPane.setTopComponent(new JLabel("上边"));// 在垂直面板上方添加组件
vSplitPane.setBottomComponent(new JLabel("下边"));// 在垂直面板上方添加组件
c.add(hSplitPane);
jf.setVisible(true);
}
}
ランニング効果のスクリーンショット: