JavaGUI——布局管理器基础(二)流式布局FlowLayout

时间:2021-10-04 05:27:39

流式布局介绍:

FlowLayout布局,按照组件的添加次序将按钮组件(当然也可以是别的组件)从左到右放置在容器中。当到达容器的边界时,组件将放置在下一行中。FlowLayout可以以左对齐,居中对齐、以右对齐的方式排列组件。

JavaGUI——布局管理器基础(二)流式布局FlowLayout

代码实现:

import java.awt.*;
import javax.swing.*;
public class Swing_3 extends JFrame{

	//定义需要的组件
	JButton jb1,jb2,jb3,jb4,jb5,jb6;
	
public static void main(String[] args) {        //主函数
		
		Swing_3 a=new Swing_3();      //实现界面
		
	}
	public Swing_3()                //swing_3的构造函数
	{
		//创建组件
		jb1=new JButton("关羽");		
		jb2=new JButton("张飞");
		jb3=new JButton("赵云");
		jb4=new JButton("马超");
		jb5=new JButton("黄忠");
		jb6=new JButton("魏延");
		
		//添加组件
		this.add(jb1);			       //流式布局是流动的,所以可以直接添加
		this.add(jb2);
		this.add(jb3);
		this.add(jb4);
		this.add(jb5);
		this.add(jb6);
		
		//设置布局管理器
		this.setLayout(new FlowLayout());	//如果你不设置的话,JFrame默认的是BorderLayout边界布局管理器
		
		//设置窗体
		this.setTitle("流式布局案例");		//设置窗体标题
		this.setSize(300, 200);				//设置窗体大小
		this.setLocation(200, 200);			//设置窗体初始位置
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);	 //这个很重要!!!设置关闭窗体后虚拟机一同关闭,不设置的
		this.setVisible(true);				//设置可以显示
	}
}

上述代码是将六个按钮布局到界面中,也可以是其他的组件。代码的结果就是上图。

进阶控制:

设置对齐方式:(左对齐为例,在创建布局管理器的时候设置)

this.setLayout(new FlowLayout(FlowLayout.LEFT));

禁止用户改变窗体大小:

this.setResizable(false);

流式布局注意事项:

不限制他所管理的组件大小,允许他们有最佳大小。

当容器被缩放时,组件的位置可能变化,但组件的大小不变。

默认组件是居中对齐,可以通过FlowLayout(int a lign)函数来指定对齐方式。