-
Java连载122-布局管理器、边界布局管理器
一、编写窗体
1.左右边距、按钮
package com.bjpowernode.java_learning; import java.awt.Button; import java.awt.FlowLayout; import java.awt.Frame; public class D122_1_Test { public static void main(String[] args) { final Frame f = new Frame("Flowlayout");//创建一个名为Flowlayout的窗体 //设置窗体中的布局管理器为Flowlayout,所有组件左对齐,水平间距为20,垂直间距为30 f.setLayout(new FlowLayout(FlowLayout.LEFT,20,30)); f.setSize(220,300); //设置窗体大小 f.setLocation(300,200); //设置窗体显示位置 f.add(new Button("第一个按钮")); //把“第一个按钮”添加到f窗体 f.add(new Button("第二个按钮")); f.add(new Button("第三个按钮")); f.add(new Button("第四个按钮")); f.add(new Button("第五个按钮")); f.add(new Button("第六个按钮")); f.setVisible(true); } }
二、边界布局管理器
BorderLayout(边界布局管理器)是一种较为复杂的布局方式,也就是说,在改变容器时,NORTH和SOUTH区域高度不变, 长度调整,WEST和EAST区域宽度不足,CENTER会相应调整。当向BorderLayout的容器添加组件的时候,需要使用add(Component comp,Object constains)方法,其中comp表示要添加到布局中的组件,constrains是指定将组件添加到布局中的方式和位置的对象,他是一个Object类型,在传参的时候可以使用BorderLayout类提供的5个常量,它们分别是EAST\SOUTH\WEST\NORTH和CENTER。
package com.bjpowernode.java_learning; import java.awt.Frame; import java.awt.FlowLayout; import java.awt.Button; import java.awt.BorderLayout; public class D122_2_BordLayout { public static void main(String[] args) { final Frame f = new Frame("BorderLayout"); //创建一个名为BorderLayout的窗体 f.setLayout(new BorderLayout()); //设置窗体中的布局管理器为BorderLayout f.setSize(300,300); //设置窗体大小 f.setLocation(300,200); //设置窗体显示的位置 f.setVisible(true); //设置窗体可见 //下面的代码是创建5个按钮,分别用于填充BorderLayout的五个区域 Button but1 = new Button("东部"); Button but2 = new Button("西部"); Button but3 = new Button("南部"); Button but4 = new Button("北部"); Button but5 = new Button("中部"); //下面的代码是将创建的按钮添加到窗体中,并设置按钮所在区域 f.add(but1,BorderLayout.EAST); f.add(but2,BorderLayout.WEST); f.add(but3,BorderLayout.SOUTH); f.add(but4,BorderLayout.NORTH); f.add(but5,BorderLayout.CENTER); } }
三、网格布局管理器
GridLayout(网格布局管理器)使用纵横线将容器分为n行m列大小相等的网格,每个网格放置一个组件,添加到容器中的组件首先放置到第一行第一列的位置,然后在第一行网格中从左至右依次放置其他组件,与FlowLayout不同的是,放置在GridLayout布局管理器中的组件将自动占据网格的整个区域。
GridLayout的构造方法
GridLayout( ) 默认只有一行,每个组件占一行
GridLayout(int rows,int cols) 指定容器的行数和列数
GridLayout(int rows ,int cols,int hgap, int vgap) 指定容器的行数和列数以及组件之间的水平距离,垂直距离。
四、源码:
D122_1_Test.java
D122_2_BordLayout.java
https://github.com/ruigege66/Java/blob/master/D122_1_Test.java
https://github.com/ruigege66/Java/blob/master/D122_2_BordLayout.java
出 处:https://www.cnblogs.com/ruigege0000/p/13128644.html