2021-05-11

《化羽Java GUI学习笔记》          我自己的学习笔记以后方便复习,也希望可以给找不到方法学习的人一点点帮助。如果有错误请大家告诉一下相互学习。

边界布局管理器  BorderLayout  

1)BorderLayout是顶层布局管理器中内容窗格的默认布局管理器,分成北,南,西,东,中
 
2) BorderLayout定义在java.awt包中,BorderLayout布局管理器有两种构造方法:
    BorderLayout()
    BorderLayout(int,int)

  前者构造方法各部分间间距为0,后者有指定的间距。
  
3)在BorderLayout布局管理器的管理下,组件必须通过add()方法加入到容器指定的区域
       frame = new JFrame("Frame Title");
       button = new JButton("Press Me");
       frame.getContentPane().add(button,BordLayout.SOUTH);

   
     最后一行也可写成:
     frame.getContentPane().add(button,"South");
  注意:区域的名称和字母的大小写一定要书写正确。
  
4)如果在add()方法中没有指定将组件放到那个区域,那么它将会默认的被放置在Center区域
  比如:
      frame.getContentPane().add(button);
      
5)在容器的每个组件区域,只能放置一个组件,如果试图向某个区域加入多各组件,只有最后一个组件是有效的。
      
6)如果真的希望在某个区域显示多个组件,可以先后先在该区域放置一个内部容器JPanel组件,然后将所有的多个组件放到JPanel中,通过内部容器的套嵌构造复杂的布局。
    
7)如果某个区域没有使用,Center区域会扩展并占据这个没有使用的区域的位置。

 

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

public class BorderLayoutDemo {
	private JFrame frame;
	private JButton be,bw,bn,bs,bc;

	public static void main(String[] args) {
		BorderLayoutDemo that = new BorderLayoutDemo();
		that.go();
	}
	
	void go() {
		frame = new JFrame("Border Layout");
		be = new JButton("East");
		bw = new JButton("West");
		bn = new JButton("North");
		bs = new JButton("South");
		bc = new JButton("Center");
		
		frame.getContentPane().add(be,BorderLayout.EAST);//添加按钮到东部
		frame.getContentPane().add(bw,BorderLayout.WEST);//添加按钮到西部
		frame.getContentPane().add(bn,BorderLayout.NORTH);//添加按钮到南部
		frame.getContentPane().add(bs,BorderLayout.SOUTH);//添加按钮到北部
		frame.getContentPane().add(bc,BorderLayout.CENTER);//添加按钮到中部
		
		frame.setSize(350,200);
		frame.setVisible(true);
		
	}

}

2021-05-11

上一篇:布局管理器练习


下一篇:关于Frame的三种常见布局