博为峰Java技术文章 ——JavaSE Swing GroupLayout布局管理器

博为峰小博老师:

GroupLayout的单词意思来看,以Group(组)为单位进行管理布局,把多个组件(如:JLable、JButton)按区域划分到不同的Group(组),再根据各个Group(组)相对于水平轴(Horizontal)和垂直轴(Vertical)的排列方式来管理。

publicclassBWF{

publicstaticvoidmain(Stringargs[]){

JFramejf=newJFrame("测试GroupLayout布局管理器");

jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

JPanelcontentPane=newJPanel();

GroupLayoutlayout=newGroupLayout(contentPane);

JButtonb1=newJButton("按钮1");

JButtonb2=newJButton("按钮2");

JTextFieldtext=newJTextField("文本");

//创建一个hsg组,将两个按钮一个一个的添加到组里面

GroupLayout.SequentialGrouphsg=layout.createSequentialGroup();

hsg.addComponent(b1);

hsg.addComponent(b2);

//创建一个hpg组,将文本框组件和上面的那个组添加到其中,并且居中排列

GroupLayout.ParallelGrouphpg=layout.createParallelGroup(GroupLayout.Alignment.CENTER);

hpg.addComponent(text).addGroup(hsg);

layout.setHorizontalGroup(hpg);//沿水平线来确定hpg组中两个按钮组件的位置

//创建一个vpg组,按照水平线来排列两个按钮组件的位置

GroupLayout.ParallelGroupvpg=layout.createParallelGroup();

vpg.addComponent(b1);

vpg.addComponent(b2);

GroupLayout.SequentialGroupvsg=layout.createSequentialGroup();

//将文本框组件和前面的容纳两个按钮组件的组同时添加到vsg组中

vsg.addComponent(text).addGroup(vpg);

//沿垂直线来确定vsg中vpg和文本框组件的位置

layout.setVerticalGroup(vsg);

contentPane.setLayout(layout);

jf.setContentPane(contentPane);

jf.pack();

jf.setVisible(true);

}

}

博为峰Java技术文章 ——JavaSE Swing GroupLayout布局管理器_第1张图片

上述实例先将两个按钮组件一个一个地放入到hsg组里,然后将文本框组件和hsg放到hpg组中,按照水平线对hsg中的两个按钮组件的位置进行排列,最后,再按垂直方式排列文本框组件和hsg组的位置。

你可能感兴趣的:(博为峰Java技术文章 ——JavaSE Swing GroupLayout布局管理器)