zoukankan      html  css  js  c++  java
  • 布局管理器

    什么是布局管理器?你一个frame里面一般有几个panel对吧,你如果要自己调它们的位置,大小的话会比较麻烦,而且当窗口变大的时候它里面的panel又不会跟着变大,就很烦恼。所以,我们有这个东西,布局管理器,相当于一个小管家,你只要把panel啊,component什么的扔进去,他自己会帮你排好它的。

    封装布局管理器的类在这个LayoutManager接口里面,不同的布局管理器有不同的布局风格。

    首先看个FlowLayout:

    这个是panel类的默认布局管理器,就是你不指定panel的布局管理器的话,就默认是这个。 

    例子:

    import java.awt.*;
    
    public class TestFlowLayout {
        public static void main(String[] args) {
            Frame f = new Frame("lalaalla FlowLayout");
            Button b1 = new Button("打开");
            Button b2 = new Button("放屁");
            Button b3 = new Button("关闭");
            f.setLayout(new FlowLayout());//参数要是实现了接口LayoutManager的类
            f.add(b1);
            f.add(b2);
            f.add(b3);
            f.setBounds(500,500,500,500);
            f.setBackground(Color.GREEN);
            f.setVisible(true);
        }
    }

    FlowLayout l = new FlowLayout(FlowLayout.LEGHT,20,40);第一个参数是对齐方式,第二个是水平间距(零件之间),第三个是垂直间距。

    再看另一种管理器,BorderLayout,它是frame类的默认layout管理器。

    代码:

    提一下,这些BorderLayout.NORTH什么的是int类型的.

    GridLayout,grid是小格的意思

    代码:

    注意这里有个f.pack(),我们平时都是这里用f.setSize()来设定大小,pack()就是刚好在外面包它一圈.

    注意,这几种布局管理器你既可以设在frame里面也可以设在panel里面,而panel本身又可以加自在frame里面。 

     

  • 相关阅读:
    hdu 4273 2012长春赛区网络赛 三维凸包中心到最近面距离 ***
    hdu 4272 2012长春赛区网络赛 dfs暴力 ***
    hdu 4063 福州赛区网络赛 圆 ****
    hdu 4069 福州赛区网络赛I DLC ***
    hdu 4061 福州赛区网络赛A 数学 ***
    hdu 4068 福州赛区网络赛H 排列 ***
    hdu 4070 福州赛区网络赛J 贪心 ***
    hdu 5366 组合数 *
    linux的rsync工具的常用选项及ssh同步介绍
    从U盘安装CentOS7.3教程
  • 原文地址:https://www.cnblogs.com/wangshen31/p/6892053.html
Copyright © 2011-2022 走看看