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
  • 相关阅读:
    新版Unity的一些小玩意儿
    Three.js踩坑笔记
    Unity 接入腾讯云COS对象存储
    通过贝塞尔曲线编辑曲线
    利用ZXing.Net生成和识别二维码
    开源免费的安卓投屏工具-Scrcpy
    Unity Reflection Probe使用入门
    Unity VFX踩坑
    windows上通过自定义后缀文件启动Unity应用
    应用于Oculus Quest的VR头显应用
  • 原文地址:https://www.cnblogs.com/shimmernight/p/13441721.html
Copyright © 2011-2022 走看看