二.布局管理器(Layout)
布局管理器决定组件在容器中的位置和尺寸。每个容器在创建时都使用一种默认的布局管理器,在程序中可以通过setlayout()方法设置布局管理器。
1. FlowLayout()
FlowLayout(int align)
FlowLayout(int align ,int hgap,int vgap)
2.BorderLayout(边界布局管理器)
3.GridLayout(网格布局管理器)
GridLayout()
GridLayout( int rows,int cols)GridLayout( int rows,int cols,int hgap,int vgap)
一.按钮事件
package hyz;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class Anniu {
public static void main(String args[]){
final Frame f=new Frame("FlowLayout");
f.setLayout(new FlowLayout(FlowLayout.LEFT,20,30));
f.setSize(500,600);
f.setLocation(700,600);
Button but1=new Button("第一个按钮!");
f.add(but1);
but1.addActionListener(new ActionListener() {
private int num=1;
public void actionPerformed(ActionEvent e){
f.add(new Button("第"+ ++num+"个按钮"));
f.setVisible(true);
}
});
f.setVisible(true);
}
二.边界处理机制
package hyz;
import java.awt.*;
import java.awt.event.*;
//import java.awt.event.ActionListener;
public class Bianjie{
public static void main(String args[]){
final Frame f=new Frame("mywindow");
f.setLayout(new BorderLayout());
f.setSize(400,300);
f.setLocation(300,500);
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);
f.setVisible(true);
}
}
三.网格布局管理器GridLayout
package hyz;
import java.awt.*;
//import java.awt.event.*;
//import java.awt.event.ActionListener;
public class Gl{
public static void main(String args[]){
final Frame f=new Frame("GridLayout");
f.setLayout(new GridLayout(3,3));
f.setSize(400,300);
f.setLocation(300,500);
for (int i=1; i<=9;i++ ){
Button btn=new Button ("btn"+i);
f.add(btn);
}
f.setVisible(true);
}
}
运行结果