JAVA Swing 小白学习篇之边框布局管理器怎么用

版权声明:博客知识产权来源命运的信徒,切勿侵权 https://blog.csdn.net/qq_37591637/article/details/86525058

知识回顾

边框布局管理器

BorderLayout(边框布局管理器)是 Window、JFrame 和 JDialog 的默认布局管理器。边框布局管理器将窗口分为 5 个区域:North、South、East、West 和 Center。其中,North 表示北,将占据面板的上方;Soufe 表示南,将占据面板的下方;East表示东,将占据面板的右侧;West 表示西,将占据面板的左侧;中间区域 Center 是在东、南、西、北都填满后剩下的区域,如图 1 所示。

提示:边框布局管理器并不要求所有区域都必须有组件,如果四周的区域(North、South、East 和 West 区域)没有组件,则由 Center 区域去补充。如果单个区域中添加的不只一个组件,那么后来添加的组件将覆盖原来的组件,所以,区域中只显示最后添加的一个组件。

BorderLayout 布局管理器的构造方法如下所示。

  • BorderLayout():创建一个 Border 布局,组件之间没有间隙。
  • BorderLayout(int hgap,int vgap):创建一个 Border 布局,其中 hgap 表示组件之间的横向间隔;vgap 表示组件之间的纵向间隔,单位是像素。

关键点有两个

1、设置窗体的模式是边框布局模式

2、按钮组件不需要放在面板里面,如果把按钮组件放在面板里面就不会呈现出想要的效果了

package cn.com.planet;
import java.awt.BorderLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
public class LayOut1 {
/*author:命运的信徒
 * date:2019/1/17
 * arm:swing的布局
 */
	private static void panle(){
		//创建窗体
		JFrame frame=new JFrame();
		//窗体的名称
		frame.setTitle("swing布局模式");
		//窗体的大小
		frame.setSize(300, 300);
		//这个很重要,设置布局的模式
		frame.setLayout(new BorderLayout());
		//关闭窗口就是关闭程序
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		//开始布局
		JButton jb0=new JButton("上");
		JButton jb1=new JButton("下");
		JButton jb2=new JButton("中");
		JButton jb3=new JButton("左");
		JButton jb4=new JButton("右");
		frame.getContentPane().add(jb0, BorderLayout.NORTH);
		frame.getContentPane().add(jb1, BorderLayout.SOUTH);
		frame.getContentPane().add(jb2, BorderLayout.CENTER);
		frame.getContentPane().add(jb3, BorderLayout.EAST);
		frame.getContentPane().add(jb4, BorderLayout.WEST);

		//设置窗体可见
		frame.pack();
		frame.setVisible(true);
		
	}
	public static void main(String[] args) {
		panle();
	}
}

效果如下

 但是不太明白,为什么我把按钮放在组件里面,再把组件放在窗体里面,就变成全部横着排列的按钮?

我想可能是这个布局方式只适用于一个面板里面的

猜你喜欢

转载自blog.csdn.net/qq_37591637/article/details/86525058
今日推荐