GUI编程——三种布局

当我们在创建的窗口里面添加一些其他组件的时候,这个时候我们就得考虑到布局的问题,这里介绍常用的三种布局:

一.流式布局

流式布局就是让容器中组件按照设置好的对齐方式(左对齐、居中、右对齐)【默认居中】

从左向右排列,一行排满将换行排列;

示例代码如下:

import java.awt.*;

public class testFlowLaout {
    public static void main(String[] args) {
        Frame frame=new Frame();
        //创建按钮组件,就是将Button的类实例化
        Button button1=new Button("button1");
        Button button2=new Button("button2");
        Button button3=new Button("button3");
        frame.setBackground(new Color(0x28C628));
        frame.setBounds(100,100,500,500);
        frame.setVisible(true);
        //设置窗口的布局为流式布局,并且设置初始为左对齐,设置组件之间的水平间距为50,垂直间距为50
        frame.setLayout(new FlowLayout(FlowLayout.LEFT,50,50));
        //将按钮加入窗口中
        frame.add(button1);
        frame.add(button2);
        frame.add(button3);
    }

}

 效果图如下:

 

二.边界布局(东西南北中)

边界布局就是按照如下图所示的划分形式,在对应的位置里放置组件。

 示例代码如下:

import java.awt.*;

public class testBorderLaout {
    public static void main(String[] args) {
        Frame frame=new Frame();
        Button center=new Button("center");
        Button top=new Button("top");
        Button left=new Button("left");
        Button right=new Button("right");
        Button bottom=new Button("bottom");
        frame.setVisible(true);
        frame.setBounds(100,100,500,500);
        //分别将五个按钮布置到东西南北中对应的位置上
        frame.add(center,BorderLayout.CENTER);
        frame.add(left,BorderLayout.WEST);
        frame.add(right,BorderLayout.EAST);
        frame.add(bottom,BorderLayout.SOUTH);
        frame.add(top,BorderLayout.NORTH);
    }
}

效果图如下:

 

三.表格布局

表格布局就是设置好行数和列数,在对应的形成的小格子里放置组件。

示例代码如下:

import java.awt.*;

public class testGridLaout {
    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");
        Button btn6=new Button("btn6");
        //设置为一个两行三列的表格
        frame.setLayout(new GridLayout(2,3));
        frame.add(btn1);
        frame.add(btn2);
        frame.add(btn3);
        frame.add(btn4);
        frame.add(btn5);
        frame.add(btn6);
        frame.setVisible(true);
        frame.setBounds(100,100,500,500);
    }
}

效果图如下:

 总结:一般许多复杂的布局都是由简单的布局相互嵌套使用,请大家熟悉掌握以上三种布局。

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值