java实用教程——组件及事件处理——布局管理(五种)

本文详细介绍了Java中的五种布局管理器:FlowLayout(流式布局)、BorderLayout(边界布局)、GridLayout(网格布局)、CardLayout(卡片布局)和BoxLayout(盒式布局)。针对每种布局,文章提供了布局特点和使用示例,如FlowLayout的对齐方式,BorderLayout中各区域的调整规则等。
摘要由CSDN通过智能技术生成

1.流式布局FlowLayout

public void pack()调整此窗口的大小,以适合其子组件的首选大小和布局。如果该窗口或其所有者仍不可显示,则两者在计算首选大小之前变得可显示。在计算首选大小之后,将会验证该Window。窗口自动适应大小,使窗口能正好显示里面所有的控件。



import java.awt.*;

public class FlowLayoutDemo {
   

    public static void main(String[] args) {
   
        Frame frame = new Frame("这里测试FlowLayout");

        //1.通过setLayout方法设置容器的布局管理器
       // frame.setLayout(new FlowLayout(FlowLayout.LEFT,20,20));

        //frame.setLayout(new FlowLayout(FlowLayout.CENTER,20,20));

        frame.setLayout(new FlowLayout(FlowLayout.RIGHT,40,20));

        //2.添加多个按钮到frame中
        for (int i = 1; i <= 100; i++) {
   
            frame.add(new Button("按钮"+i));
        }
        //3.设置最佳大小,pack方法  大小适中
        frame.pack();

        frame.setVisible(true);
    }

}

右对齐:
在这里插入图片描述居中对齐:

在这里插入图片描述左对齐:
在这里插入图片描述

2.边界布局BorderLayout
在这里插入图片描述

当改变使用 BorderLayout 的容器大小时, NORTH 、 SOUTH 和 CENTER区域水平调整,而 EAST 、 WEST 和 CENTER 区域垂直调整。使用BorderLayout 有如下两个注意点:

1. 当向使用 BorderLayout 布局管理器的容器中添加组件时 , 需要指定要添加到哪个区域中 。 如果没有指定添加到哪个区域中,则默认添加到中间区域中,其他区域空出的话,也会被中间区域占用;
2. 如果向同一个区域中添加多个组件时 , 后放入的组件会覆盖先放入的组件

3.网格布局GridLayout

在这里插入图片描述


import javax.swing.JFrame;
import java.awt.*;
import javax.swing.*;

public class GridLayoutDemo extends JFrame{
   
	
	public static void main(String []args)
	{
   
		GridLayoutDemo win = new GridLayoutDemo();
	}
	public GridLayoutDemo()
	{
   
		
		//1.创建对象,并且标题设置为计算器
		this.setTitle("这是一个计算器的界面");
		this.setBounds(100,200,500,500);
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		this.setVisible(true);
		init();
	}
	public void init()
	{
   
		  

		        
		       

		        //2.创建一个Panel对象,并且往Panel中放置一个TextField组件
		        JPanel p1 = new JPanel();
		        p1.add(new JTextField(30));

		        //3.把上述的Panel放入到窗口的北侧区域
		        this.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值