流式布局
import java.awt.*;
public class TestFlowLayout {
public static void main(String[] args) {
Frame frame=new Frame();
//组件--按钮
Button button1=new Button("按钮1");
Button button2=new Button("按钮2");
Button button3=new Button("按钮3");
//设置为流式布局 流式布局是第一行摆满了再摆下一行
//frame.setLayout(new FlowLayout());//默认居中
//frame.setLayout(new FlowLayout(FlowLayout.LEFT));//改为左靠齐
frame.setLayout(new FlowLayout(FlowLayout.RIGHT));//改为右靠齐
frame.add(button1);
frame.add(button2);
frame.add(button3);
frame.setSize(200,200);
frame.setVisible(true);
}
}
边界布局
import java.awt.*;
public class TestBorderLayout {
/*
边界布局(东西南北中)将一个界面分成五个位置 上下左右中
*/
public static void main(String[] args) {
Frame frame=new Frame("title");
Button east=new Button("East");
Button west=new Button("West");
Button south=new Button("South");
Button north=new Button("North");
Button center=new Button("Center");
frame.add(east,BorderLayout.EAST);
frame.add(west,BorderLayout.WEST);
frame.add(south,BorderLayout.SOUTH);
frame.add(north,BorderLayout.NORTH);
frame.add(center,BorderLayout.CENTER);
frame.setSize(200,200);
frame.setVisible(true);
}
}
表格布局
import java.awt.*;
public class TestGridLayout {
/*
表格布局
*/
public static void main(String[] args) {
Frame frame=new Frame();
Button button1=new Button("1");
Button button2=new Button("2");
Button button3=new Button("3");
Button button4=new Button("4");
Button button5=new Button("5");
Button button6=new Button("6");
frame.setLayout(new GridLayout(3,2));//行 列 (行间隔 列间隔)
frame.add(button1);
frame.add(button2);
frame.add(button3);
frame.add(button4);
frame.add(button5);
frame.add(button6);
frame.pack();//Java函数,自动匹配大小
frame.setVisible(true);
}
}
三种布局的简单嵌套练习
import java.awt.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
public class ExDemo {
/*
布局的嵌套练习
*/
public static void main(String[] args) {
//总
Frame frame=new Frame("exercise");
Panel panel1=new Panel();
Panel panel2=new Panel();
frame.setSize(400,400);
frame.setLocation(400,400);
frame.setBackground(Color.black);
frame.setVisible(true);
frame.setLayout(new GridLayout(2,1));
panel1.setLayout(new BorderLayout());
panel1.add(new Button("1"),BorderLayout.WEST);
panel1.add(new Button("2"),BorderLayout.EAST);
Panel panel3=new Panel(new GridLayout(2,1));
panel1.add(panel3,BorderLayout.CENTER);
panel3.add(new Button("3"));
panel3.add(new Button("4"));
panel2.setLayout(new BorderLayout());
panel2.add(new Button("5"),BorderLayout.WEST);
panel2.add(new Button("6"),BorderLayout.EAST);
Panel panel4=new Panel(new GridLayout(2,2));
panel2.add(panel4,BorderLayout.CENTER);
for (int i = 0; i < 4; i++) {
panel4.add(new Button(""+(i+7)));
}
//注意 如果先添加,内容会覆盖 最好总底层向上层添加
frame.add(panel1);
frame.add(panel2);
frame.addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
}
}