• GUI容器之布局管理器


    布局管理器

    布局管理器:frame.setLayout();

    默认值为new flowLayout()

    • 流式布局

    frame.setLayout(new FlowLayout(FlowLayout.RIGHT));

    public class 流式布局 {
        public static void main(String[] args) {
            Button btn1 = new Button("btn1");
            Button btn2 = new Button("btn2");
            Button btn3 = new Button("btn3");
            Button btn4 = new Button("btn4");
    
            btn1.setSize(10,10);
            btn2.setSize(10,10);
            btn3.setSize(10,10);
            btn4.setSize(10,10);
    
            Frame frame = new Frame();
            //设置流式布局
            frame.setLayout(new FlowLayout(FlowLayout.RIGHT));
    
            frame.setBounds(100,100,600,400);
    
            frame.add(btn1);
            frame.add(btn2);
            frame.add(btn3);
            frame.add(btn4);
            frame.setVisible(true);
    
        }
    }
    
    • 东西南北中

      frame.setLayout(new BorderLayout());

      public class 东西南北中 {
          public static void main(String[] args) {
              Frame frame = new Frame();
              Button btn1 = new Button("btn1");
              Button btn2 = new Button("btn2");
              Button btn3 = new Button("btn3");
              Button btn4 = new Button("btn4");
              Button btn5 = new Button("btn5");
      
              frame.setBounds(100,100,500,400);
              //设置布局管理器
              frame.add(btn1,BorderLayout.EAST);
              frame.add(btn2,BorderLayout.WEST);
              frame.add(btn3,BorderLayout.SOUTH);
              frame.add(btn4,BorderLayout.NORTH);
              frame.add(btn5,BorderLayout.CENTER);
              frame.setVisible(true);
          }
      }
      
    • 表格布局

    frame.setLayout(new GridLayout(3, 2));//行列

    public class 表格布局 {
        public static void main(String[] args) {
            Frame frame = new Frame();
            frame.setBounds(100, 100, 200, 200);
    
            //设置布局管理器
            frame.setLayout(new GridLayout(3, 2));//行列
    
            Button btn1 = new Button("btn1");
            Button btn2 = new Button("btn2");
            Button btn3 = new Button("btn3");
            Button btn4 = new Button("btn4");
            Button btn5 = new Button("btn5");
            Button btn6 = new Button("btn6");
            frame.add(btn1);
            frame.add(btn2);
            frame.add(btn3);
            frame.add(btn4);
            frame.add(btn5);
            frame.add(btn6);
            //frame.pack();//自动设置大小
            frame.setVisible(true);//可视化
        }
    }
    

    综合练习

    布局管理器的综合应用

    • 总结

    1. Frame:顶级窗口
    2. Panel:面板,不能独立存在
    3. 布局管理器
      1. 流式布局 flowLayout
      2. 东西南北中 borderLayout
      3. 表格布局 gridLayout
  • 相关阅读:
    动画效果开关
    学习网站
    html5标签 H5标签
    Bootstrap
    【CSP-S 2019模拟】题解
    【CSP-S 2019模拟】题解
    【LOJ #3095】【SNOI2019】—字符串(模拟)
    【LOJ #3095】【SNOI2019】—字符串(模拟)
    【LOJ #3084】【GXOI / GZOI2019】—宝牌一大堆(DP)
    【LOJ #3084】【GXOI / GZOI2019】—宝牌一大堆(DP)
  • 原文地址:https://www.cnblogs.com/shimmernight/p/13441721.html
Copyright © 2020-2023  润新知