zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    vs code 编译python 输出到调试控制台
    vs code个性化设置
    IDEA 简拼输入
    微信小程序 audio组件 默认控件 无法隐藏/一直显示/改了controls=‘false’也没用2019/5/28
    win10的cortana搜索显示空白
    微信小程序tabbar不显示2019.04.06
    读《提问的智慧》有感
    CLion 控制台输出内容乱码问题的解决方法
    vs code C语言环境搭建
    利用python的爬虫技术爬去糗事百科的段子
  • 原文地址:https://www.cnblogs.com/shimmernight/p/13441721.html
Copyright © 2011-2022 走看看