GUI布局

流式布局(FlowLayout)
1.构造方法可指定对齐方式、水平垂直间距
2.特点:从左到右的顺序排列,默认居中。
例如:
public class JFrame1 extends JFrame{

public static void main(String[] args) {
    new JFrame1();
}

public JFrame1(){
    //设置窗口可见
    setVisible(true);
    //设置点击关闭窗口的时候,退出程序
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    //设置窗口的大小
    setSize(10, 520);
    setSize(new Dimension(10, 520));
    //设置窗口的背景颜色
//  setBackground(Color.RED); //颜色显示不出来是因为,被布局管理器挡住了
    Container c = getContentPane(); //返回此窗体的 ContentPane 对象
    c.setBackground(Color.RED); //  设置组件的背景色。

  //创建布局管理器,设置布局
    FlowLayout f = new FlowLayout();
    setLayout(f);

    //创建按钮对象
    JButton j = new JButton("登陆");
    JButton j1 = new JButton("退出");
    JTextField jt = new JTextField(10);

    //把按钮添加到窗体上
    add(j);
    add(j1);
    add(jt);
   }

}

边界布局(BorderLayout)
特点:按照东南西北中的顺序排列, Frame默认的布局管理器。
其中每个部分只可添加一个组件,若添加多个组件,则最后添加的组件会覆盖前面的。

例如:
public class JFrame2 extends JFrame{

    public static void main(String[] args) {
         new JFrame2();
    }
    public JFrame2(){
    //设置点击关闭窗口的时候,退出程序
    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    //设置窗口的大小
    this.setSize(10, 520);
    this.setSize(new Dimension(10, 520));

    //设置窗口的背景颜色
//      setBackground(Color.RED); //颜色显示不出来是因为,被布局管理器挡住了
        Container c = this.getContentPane(); //返回此窗体的 ContentPane 对象
        c.setBackground(new Color(0xFDAD20)); //  设置组件的背景色。

    //创建布局管理器(边界布局管理器)
    BorderLayout f = new BorderLayout();
    this.setLayout(f);//设置布局

    //创建按钮对象
    JButton j = new JButton("登陆");
    JButton j1 = new JButton("退出");
    JButton j2 = new JButton("QQ");
    JButton j3 = new JButton("密码");
    JTextField jt = new JTextField(1);

    //添加到窗体
//BorderLayout是一个边框布局,它可以对容器组件进行,五个区域:北、南、东、西、中。每个区域最多只能包含一个组件
        add(j,BorderLayout.NORTH);//北
        add(j1,BorderLayout.SOUTH);//南
        add(j2,BorderLayout.EAST);//东
        add(j3,BorderLayout.WEST);//西
        add(jt,BorderLayout.CENTER);//中  而且五个组件把背景颜色遮挡了

    //设置窗口可见
    this.setVisible(true);
    }

}

表格布局(GridLayout)
构造方法可指定水平垂直间距
特点:规则的矩阵 ,系统自带的计算器用的就是这个布局。
例如:
public class JFrame3 extends JFrame {

public JFrame3(String title){
    super(title);

    //设置窗体可见
    setVisible(true);
    //设置大小
    setSize(500, 500);
    //设置点击关闭的时候退出程序
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    //设置内容面板的背景颜色
    Container c = getContentPane();
    c.setBackground(new Color(52,10,99));

    //设置布局
    GridLayout gl=new GridLayout(2,3);//左边的参数表示一行,右边的参数表示一列
    setLayout(gl);

    //添加
    for(int i=0;i<10;i++){//控制几个按钮,颜色也会被按钮遮挡住
        JButton jb=new JButton("按钮"+i);
        add(jb);
    }
}

public static void main(String[] args) {
    new JFrame3("窗体哦");
}

}

CardLayout(卡片布局管理器)
特点:选项卡
对于选项卡这个概念大家可能不会陌生,就是在一个窗口中可以切换显示多页不同的内容,但同一时间只能是其中的某一页可见的,这样的一个个的页面就是选项卡。
CardLayout就是类似的这样一个布局管理器,它能够让多个组件共享同一个显示空间,共享空间的组件之间的关系就像重叠在一起的一幅扑克牌,组件重叠在一起,初始时显示该空间中第一个组件,通过CardLayout类提供的方法可以切换该空间中显示的组件。

GridBagLayout(网格包布局管理器,又称坐标式布局(最牛逼最灵活的布局方式。)
特点:非规则的矩阵,是GridLayout的变种,一个组件可以存放在多个格子之中,通过坐标确定组件位置。

窗体类:JFrame,
按钮类:JButton,
单行文本JTextField,
多行文本:JTextArea

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值