菜鳥プログラミングのjavaチェック漏れ--GridBagLayoutレイアウト
6432 ワード
GridBagLayoutクラスで管理されているコンテナにコンポーネントを追加する場合は、各コンポーネントに関連付けられたGridBagContrainsクラスのオブジェクトを作成し、そのクラスのプロパティでコンポーネントのレイアウト情報を設定する必要があります.
GridBagConstraints共通フィールド:
(1)gridxとgridy
gridx:コンポーネントを含む表示領域の開始エッジのセルを指定します.行の最初のセルは
gridy:コンポーネント表示領域の上部にあるセルを指定します.一番上のセルは
(2)gridwidthとgridheight
gridwidth:コンポーネント表示領域の行のセル数を指定します.
gridheight:コンポーネント表示領域の列にあるセルの数を指定します.
(3)insets
insets:コンポーネントの外部充填、すなわち、コンポーネントとその表示領域のエッジとの間隔の最小量を指定します.
//上辺、左辺、下辺、右辺の間隔はそれぞれ1、2、3、4
gridBagConstraints.insets=new Insets(1,2,3,4);
(4)fill
このフィールドは、コンポーネントの表示領域が要求された表示領域より大きい場合に使用します.コンポーネントのサイズを調整するかどうか、必要に応じてどのように調整するかを決定します.すなわち、セルの表示領域の面積がコンポーネントの面積より大きい場合、または1つのコンポーネントが複数のセルを占有する場合、表示コンポーネントがすべての表示領域を占有する必要がない場合、fillプロパティを使用してコンポーネントの充填方法を設定します.
(5)ipadxとipady
ipadx:コンポーネントの内部充填を指定します.すなわち、コンポーネントの最小幅にどれだけのスペースを追加するかを指定します.
ipady:コンポーネントの最小高さにどれだけのスペースを追加するかを指定します.
GridBagConstraints共通フィールド:
(1)gridxとgridy
gridx:コンポーネントを含む表示領域の開始エッジのセルを指定します.行の最初のセルは
gridx=0
です.gridy:コンポーネント表示領域の上部にあるセルを指定します.一番上のセルは
gridy=0
です.(2)gridwidthとgridheight
gridwidth:コンポーネント表示領域の行のセル数を指定します.
gridheight:コンポーネント表示領域の列にあるセルの数を指定します.
(3)insets
insets:コンポーネントの外部充填、すなわち、コンポーネントとその表示領域のエッジとの間隔の最小量を指定します.
//上辺、左辺、下辺、右辺の間隔はそれぞれ1、2、3、4
gridBagConstraints.insets=new Insets(1,2,3,4);
(4)fill
このフィールドは、コンポーネントの表示領域が要求された表示領域より大きい場合に使用します.コンポーネントのサイズを調整するかどうか、必要に応じてどのように調整するかを決定します.すなわち、セルの表示領域の面積がコンポーネントの面積より大きい場合、または1つのコンポーネントが複数のセルを占有する場合、表示コンポーネントがすべての表示領域を占有する必要がない場合、fillプロパティを使用してコンポーネントの充填方法を設定します.
NONE
:コンポーネントのサイズは調整されません.HORIZONTAL
:コンポーネントを水平方向に表示領域を満たすように拡大しますが、高さは変更されません.VERTICAL
:コンポーネントを垂直方向に表示領域を満たすように高くしますが、幅は変更されません.BOTH
:コンポーネントが表示領域を完全に満たす.(5)ipadxとipady
ipadx:コンポーネントの内部充填を指定します.すなわち、コンポーネントの最小幅にどれだけのスペースを追加するかを指定します.
ipady:コンポーネントの最小高さにどれだけのスペースを追加するかを指定します.
import java.awt.Container;
import java.awt.Dimension;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.GridLayout;
import java.awt.Toolkit;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
/*
* GridBagLayout ,
* GridBagContrains ,
*/
public class Test_GridBagLayout extends JFrame{
JButton []button;
JPanel panel1,panel2,panel3;
GridBagLayout gridBag=new GridBagLayout();
GridBagConstraints gridBagCon;
public Test_GridBagLayout(){
initFrame();
Dimension faceSize=new Dimension(400,600);
this.setSize(faceSize);
//
Dimension screenSize=Toolkit.getDefaultToolkit().getScreenSize();
this.setLocation((int)(screenSize.width-faceSize.width)/2,
(int)(screenSize.height-faceSize.height)/2);
//
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}
/*
*
*/
public void initFrame(){
// JButton
button=new JButton[11];
for(int i=0;i<button.length;i++){
button[i]=new JButton();
}
// JPanel
panel1=new JPanel();
panel2=new JPanel();
panel3=new JPanel();
//panel1 gridx gridy
panel1.setLayout(gridBag);
// panel1 button[0];
button[0].setText(" A(0,0)");
gridBagCon=new GridBagConstraints();
gridBagCon.gridx=0;
gridBagCon.gridy=0;
gridBag.setConstraints(button[0], gridBagCon);
panel1.add(button[0]);
// panel1 button[1];
button[1].setText(" B(2,0)");
gridBagCon=new GridBagConstraints();
gridBagCon.gridx=2;
gridBagCon.gridy=0;
gridBag.setConstraints(button[1], gridBagCon);
panel1.add(button[1]);
// panel1 button[2];
button[2].setText(" C(1,1)");
gridBagCon=new GridBagConstraints();
gridBagCon.gridx=1;
gridBagCon.gridy=1;
gridBag.setConstraints(button[2], gridBagCon);
panel1.add(button[2]);
// panel1 button[3];
button[3].setText(" D(2,2)");
gridBagCon=new GridBagConstraints();
gridBagCon.gridx=2;
gridBagCon.gridy=2;
gridBag.setConstraints(button[3], gridBagCon);
panel1.add(button[3]);
//panel2 gridwidth gridheight
panel2.setLayout(gridBag);
// panel2 button[4]
button[4].setText(" 1(2,1)");
gridBagCon=new GridBagConstraints();
gridBagCon.gridx=0;
gridBagCon.gridy=0;
gridBagCon.gridwidth=2;
gridBagCon.gridheight=1;
gridBag.setConstraints(button[4], gridBagCon);
panel2.add(button[4]);
// panel2 button[5]
button[5].setText(" 2(1,2)");
gridBagCon=new GridBagConstraints();
gridBagCon.gridx=0;
gridBagCon.gridy=2;
gridBagCon.gridwidth=1;
gridBagCon.gridheight=2;
gridBag.setConstraints(button[5], gridBagCon);
panel2.add(button[5]);
// panel2 button[6]
button[6].setText(" 3(2,2)");
gridBagCon=new GridBagConstraints();
gridBagCon.gridx=3;
gridBagCon.gridy=3;
gridBagCon.gridwidth=2;
gridBagCon.gridheight=2;
gridBag.setConstraints(button[6], gridBagCon);
panel2.add(button[6]);
//panel3 ipadx ipady
panel3.setLayout(gridBag);
// panel3 button[7]
button[7].setText(" Ⅰ");
gridBagCon=new GridBagConstraints();
gridBagCon.gridx=0;
gridBagCon.gridy=0;
gridBag.setConstraints(button[7], gridBagCon);
panel3.add(button[7]);
// panel3 button[8]
button[8].setText(" Ⅱ");
gridBagCon=new GridBagConstraints();
gridBagCon.gridx=0;
gridBagCon.gridy=1;
gridBag.setConstraints(button[8], gridBagCon);
panel3.add(button[8]);
// panel3 button[9]
button[9].setText(" Ⅲ");
gridBagCon=new GridBagConstraints();
gridBagCon.gridx=1;
gridBagCon.gridy=0;
gridBag.setConstraints(button[9], gridBagCon);
panel3.add(button[9]);
// panel3 button[10]
button[10].setText(" Ⅳ");
gridBagCon=new GridBagConstraints();
gridBagCon.gridx=1;
gridBagCon.gridy=1;
gridBagCon.ipadx=10;
gridBagCon.ipady=20;
gridBag.setConstraints(button[10], gridBagCon);
panel3.add(button[10]);
// panel1,panel2,panel3
Container contentPane=this.getContentPane();
contentPane.setLayout(new GridLayout(3,1));
contentPane.add(panel1);
contentPane.add(panel2);
contentPane.add(panel3);
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
new Test_GridBagLayout();
}
}