脚跟立定以后,你必须拿你的力量和技能,自己奋斗。——萧伯纳
本讲内容:布局管理器
java共提供了五种布局管理器:流式布局管理器(FlowLayout)、边界布局管理器(BorderLayout)、网格布局管理器(GridLayout)、卡片布局管理器(CardLayout)、网格包布局管理器(GridBagLayout)。前三种是最常见的。
一、边界布局管理器(BorderLayout)(默认布局管理器)
不是五个部分都必须添加,以中部为主进行扩充。
步骤:
1、继承JFrame
2、定义组件
3、创建组件
4、增加组件
5、设置窗体
import java.awt.*;
import javax.swing.*;
public class Text extends JFrame{
//定义组件
JButton jb1,jb2,jb3,jb4,jb5;
public static void main(String[] args) {
Text t=new Text();
}
public Text() {
//创建组件
jb1=new JButton("东方");
jb2=new JButton("西方");
jb3=new JButton("南方");
jb4=new JButton("北方");
jb5=new JButton("中方");
//增加组件
this.add(jb1,BorderLayout.EAST);
this.add(jb2,BorderLayout.WEST);
this.add(jb3,BorderLayout.SOUTH);
this.add(jb4,BorderLayout.NORTH);
this.add(jb5);
//设置窗体属性
this.setTitle("边界布局BorderLayout—小劲");
this.setLocation(300, 300);
this.setSize(400,300);
this.setResizable(false);
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
二、流式布局管理器(FlowLayout)
1、不能改变大小,允许他们有最佳大小;
2、当窗口被缩放时,组件的位置可能变化,但组件的大小不变;
3、默认组件是居中对齐。
import java.awt.*;
import javax.swing.*;
public class Text extends JFrame{
//定义组件
JButton[] jb={null,null,null,null,null,null,null,null,null};
public static void main(String[] args) {
Text t=new Text();
}
public Text() {
//创建组件
jb[0]=new JButton("小路");
jb[1]=new JButton("开权");
jb[2]=new JButton("开赤");
jb[3]=new JButton("开妥");
jb[4]=new JButton("秋梦");
jb[5]=new JButton("静喻");
jb[6]=new JButton("小君");
jb[7]=new JButton("惠琳");
jb[8]=new JButton("丹妹");
//设置布局,默认的是边界布局管理器
this.setLayout(new FlowLayout());//默认以中对齐
//this.setLayout(new FlowLayout(FlowLayout.LEFT));//以左对齐
//this.setLayout(new FlowLayout(FlowLayout.RIGHT));
//增加组件
for(int i=0;i<9;i++){
this.add(jb[i]);
}
//设置窗体属性
this.setTitle("边界布局BorderLayout—小劲");
this.setLocation(300, 300);
this.setSize(400,300);
this.setResizable(false);
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
三、网格布局管理器(GridLayout)
1、组件的相对位置不随容器的缩放而变化,但大小会变化。
2、所有组件的大小相同。
import java.awt.*;
import javax.swing.*;
public class Text extends JFrame{
//定义组件
int size=9;
JButton[] jb=new JButton[size];
public static void main(String[] args) {
Text t=new Text();
}
public Text() {
//创建组件
jb[0]=new JButton("群英");
jb[1]=new JButton("国宾");
jb[2]=new JButton("志峰");
jb[3]=new JButton("杨敏");
jb[4]=new JButton("海峰");
jb[5]=new JButton("高明");
jb[6]=new JButton("肥劲");
jb[7]=new JButton("国茂");
jb[8]=new JButton("水华");
//设置布局
this.setLayout(new GridLayout(3,3,10,13));//3行3列 10为左右13上下
//增加组件
for(int i=0;i<size;i++){
this.add(jb[i]);
}
//设置窗体属性
this.setTitle("网格布局GridLayout—小劲");
this.setLocation(300, 300);
this.setSize(400,300);
this.setResizable(false);
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
本讲就到这里,Take your time and enjoy it