流式布局:
package com.zwxxGUI.lemsson01;
import java.awt.*;
public class TextFlowLayout {
public static void main(String[] args) {
Frame frame = new Frame();
//组件-按钮
Button button1 = new Button("button1");
Button button2 = new Button("button2");
Button button3 = new Button("button3");
//设置为流式布局
//frame.setLayout(new FlowLayout()); 默认靠左
//frame.setLayout(new FlowLayout(FlowLayout.LEFT)); //靠左
//frame.setLayout(new FlowLayout(FlowLayout.RIGHT));//靠右
frame.setLayout(new FlowLayout(FlowLayout.CENTER)); //居中
frame.setSize(200,200);
//把按钮添加上去
frame.add(button1);
frame.add(button2);
frame.add(button3);
frame.setVisible(true);
}
}
东南西北中布局:
package com.zwxxGUI.lemsson01;
import java.awt.*;
public class TestBorderLayout {
public static void main(String[] args) {
//东西南北中布局
Frame frame = new Frame("TestBorderLayout");
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);
}
}
列表布局:
package com.zwxxGUI.lemsson01;
import java.awt.*;
public class TestGridLayout {
public static void main(String[] args) {
//列表布局
Frame frame = new Frame("TestGridLayout");
Button btn1 = new Button("btn1");
Button btn2 = new Button("btn2");
Button btn3 = new Button("btn3");
Button btn4 = new Button("btn4");
Button btn5 = new Button("btn5");
Button btn6 = new Button("btn6");
frame.setLayout(new GridLayout(3,2));
frame.add(btn1);
frame.add(btn2);
frame.add(btn3);
frame.add(btn4);
frame.add(btn5);
frame.add(btn6);
frame.pack(); //Java函数
frame.setVisible(true);
}
}
实现一些布局:
package com.zwxxGUI.lemsson01;
import java.awt.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
public class homework {
public static void main(String[] args) {
//平分的一般都是列表布局
Frame frame = new Frame();
frame.setVisible(true);
frame.setSize(400,500);
frame.setLocation(500,500);
frame.setLayout(new GridLayout(2,1));
Panel panel1 = new Panel(new BorderLayout());
Panel panel2 = new Panel(new BorderLayout());
Panel panel3 = new Panel(new GridLayout(2,1));
Panel panel4 = new Panel(new GridLayout(2,2));
// panel1.setBackground(Color.cyan);
// panel2.setBackground(Color.RED);
panel1.add(new Button("button1"),BorderLayout.WEST);
panel1.add(new Button("button4"),BorderLayout.EAST);
panel3.add(new Button("button2"));
panel3.add(new Button("button3"));
panel1.add(panel3,BorderLayout.CENTER);
panel2.add(new Button("button5"),BorderLayout.WEST);
panel2.add(new Button("button10"),BorderLayout.EAST);
// panel4.add(new Button("button6"));
// panel4.add(new Button("button7"));
// panel4.add(new Button("button8"));
// panel4.add(new Button("button9"));
for (int i = 0; i < 4; i++) {
panel4.add(new Button("button"+(i+6)));
}
panel2.add(panel4,BorderLayout.CENTER);
frame.add(panel1);
frame.add(panel2);
//监听时间,监听窗口关闭事件 System.exit(0)
//适配器模式: Listnenr:监听器 Adapter:适配
frame.addWindowListener(new WindowAdapter() {
//窗口点击关闭的时候需要做的事情
@Override
public void windowClosing(WindowEvent e) {
//结束程序
System.exit(0);
}
});
}
}
1、先用列表分成上下两部分
2、用东南西北中布局 分别放置西 中 东 的面板
3、面板内使用列表布局
样例: