zoukankan      html  css  js  c++  java
  • 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、显示窗体

     








  • 相关阅读:
    Codeforces 749C【模拟】
    Codeforces 358D【DP】
    Lightoj1122 【数位DP】
    Codeforces 744C【DFS】
    大晚上就是想说说话
    HDU5997 【线段树】
    codeforces743D 【DFS】
    lightoj 1422【区间DP·分类区间首元素的情况】
    lightoj 1125【背包·从n个选m个】
    Lightoj 1147【DP】
  • 原文地址:https://www.cnblogs.com/xuxaut-558/p/10045679.html
Copyright © 2011-2022 走看看