JAVA入门到精通-第30讲-布局管理器

Posted 夏至稻花如白练,大暑池畔赏红莲

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA入门到精通-第30讲-布局管理器相关的知识,希望对你有一定的参考价值。

 JFrame默认是边界布局的;
 流式布局FlowLayout默认是居中对齐的;

 右对齐:
 
 
  按道理每个按钮可以设置大小;
  一旦把布局管理器设置好,按钮大小会自动设置;

  
  null设置按钮大小;

    
   禁止用户改变窗口大小;
 
  网格布局适合做计算器;

  对象数组需要NEW一下;

设置网格布局:
(几行,几列)
 
 
 运用for循环;
 因为不是简单数组,需要new一个;
 
 
边界布局BorderLayout--注意事项
1、不是五个部分都必需添加;
2、中部组件会自动调节大小;
3、JFrame,Jdialog默认布局管理器就是BorderLayout

三大常用布局管理器--流式布局
流式布局FlowLayout--介绍
FlowLayout布局,按照组件的添加次序将按钮组件(当然也可以是别的组件)从左到右放置在容器中。当到达容器的边界时,组件将放置到下一行中。FlowLayout可以以左对齐、居中对齐、以右对齐的方式排列组件。

xxxxxxxxxx
1
53
 
1
流式布局FlowLayout--使用[Window003.java]
2
/**
3
* 流式布局FlowLayout使用演示
4
* 1、继承JFrame
5
* 2、定义你需要的各个组件
6
* 3、创建组件(在构造函数中组件)
7
* 4、添加组件
8
* 5、对窗体设置
9
* 6、显示窗体
10
*/
11
import java.awt.*;
12
import javax.swing.*;
13
public class Window003 extends JFrame{
14
    //定义组件
15
    JButton jb1,jb2,jb3,jb4,jb5,jb6;
16
    
17
    public static void main(String[] args) {
18
            Window003 win=new Window003();
19
    }
20
    
21
    public Window003(){
22
        //创建组件
23
        jb1=new JButton("关羽");
24
        jb2=new JButton("张飞");
25
        jb3=new JButton("赵云");
26
        jb4=new JButton("马超");
27
        jb5=new JButton("黄忠");
28
        jb6=new JButton("魏延");
29
        
30
        //添加各个组件
31
        this.add(jb1);
32
        this.add(jb2);
33
        this.add(jb3);
34
        this.add(jb4);
35
        this.add(jb5);
36
        this.add(jb6);
37
        
38
        //设置布局管理器,流式布局默认为居中对齐
39
        this.setLayout(new FlowLayout(FlowLayout.LEFT));
40
//new FlowLayout(FlowLayout.LEFT)流式布局,(FlowLayout.??)??可以设置为不同方式对齐。
41
        //设置窗体属性
42
        this.setTitle("流式布局演示");//窗体标题名称
43
        this.setSize(300, 200);//窗体尺寸
44
        this.setLocation(200, 200);//窗体在屏幕打开时的初始位置
45
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//退出窗体后将JFrame同时关闭
46
47
        //禁止用户改变窗体大小
48
        this.setResizable(false);
49
50
        //显示窗体
51
        this.setVisible(true);
52
    }
53
}

------------------------------------------------------------------------------
流式布局FlowLayout--注意事项
1、不限制他所管理的组件大小,允许他们有最佳大小
2、当容器缩放时,组件的位置可能变化,但组件的大小不变。
3、默认组件是居中对齐,可以通过FlowLayout(intalign)函数来指定对齐方式。
 ---------------------------------------------------------------------------------
三大常用布局管理器--网格
网格布局GridLayout--介绍
GridLayout布局,听其名而知其意,它将容器分割成多行多列,组件被填充到每个网格中,添加到容器中的组件首先放置在左上角的网格中,然后从左到右放置其它的组件,当占满该行的所有网格后,接着继续在下一行从左到右放置组件。

网格布局GridLayout--使用[Window004.java]
 
1
/**
2
* 网格布局GridLayout使用演示
3
* 1、继承JFrame
4
* 2、定义你需要的各个组件
5
* 3、创建组件(在构造函数中组件)
6
* 4、添加组件
7
* 5、对窗体设置
8
* 6、显示窗体
9
*/
10
import java.awt.*;
11
import javax.swing.*;
12
public class Window004 extends JFrame{
13
    //定义组件
14
    int size=9;
15
    JButton jbs[]=new JButton[size];
16
    
17
    public static void main(String[] args) {
18
            Window004 win=new Window004();
19
    }
20
    
21
    public Window004(){
22
        //创建组件
23
        for(int i=0;i<size;i++){
24
            jbs[i]=new JButton(String.valueOf(i+1));
25
        }
26
        
27
        //添加各个组件
28
        for(int i=0;i<size;i++){
29
            this.add(jbs[i]);
30
        }
31
        
32
        //设置网格布局管理器
33
        this.setLayout(new GridLayout(3,3,10,10));//new GridLayout(行,列)设置布局有几行几列
34
        
35
        //设置窗体属性
36
        this.setTitle("网格布局演示");//窗体标题名称
37
        this.setSize(300, 200);//窗体尺寸
38
        this.setLocation(200, 200);//窗体在屏幕打开时的初始位置
39
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//退出窗体后将JFrame同时关闭
40
        
41
        //禁止用户改变窗体大小
42
        this.setResizable(false);
43
        
44
        //显示窗体
45
        this.setVisible(true);
46
    }
47
}
 
 
------------------------------------------------------------------------------
网格布局GridLayout--注意事项
1、组件的相对位置不随容器的缩放而变化,但大小会变化;
2、所有组件的大小相同;
3、可以通过GridLayout(int rows,int cols,int hgap,int vgap)来指定网格的行/列,水平间隙/垂直间隙。
参数说明:rows:行数/cols:列数/hgap:垂直间隙/vgap:水平间隙

三大常用布局管理器--小结
开发GUI程序步骤
1、继承JFrame
2、定义需要的组件
3、创建组件
4、设置布局管理器
5、添加组件
6、显示窗体

 








以上是关于JAVA入门到精通-第30讲-布局管理器的主要内容,如果未能解决你的问题,请参考以下文章

JAVA入门到精通-第70讲-学生管理系统2-增删改

JAVA入门到精通-第35讲-事件处理-坦克大战3

JAVA入门到精通-第55讲-sql server基本使用

JAVA入门到精通-第56讲-查询分析器

JAVA入门到精通-第69讲-学生管理系统1.项目分析

JAVA入门到精通-第31讲-常见组件