总结
1.Frame是一个顶级窗口
2.Panel无法单独显示,必须添加到某个容器中
3.主要分成三种模式
流式
东南西北中
表格式
三种模式要达到相互套用
例子
import java.awt.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
public class TestDome {
public static void main(String[] args) {
Frame frame =new Frame();
//把整个frame界面分成两行一列
frame.setLayout(new GridLayout(2,1));
frame.setVisible(true);
frame.setSize(200,200);
frame.setLocation(400,500);
//4个面板
Panel p1 = new Panel(new BorderLayout());
Panel p2 = new Panel(new GridLayout(2,1));
Panel p3 = new Panel(new BorderLayout());
Panel p4 = new Panel(new GridLayout(2,2));
//对上半部分操作
p1.add(new Button("east-1"),BorderLayout.EAST);
p1.add(new Button("west-2"),BorderLayout.WEST);
for (int i = 0; i < 2; i++) {
p2.add(new Button("h"+i));
}
p1.add(p2,BorderLayout.CENTER);//把P2放在P1里面
//对下半部分操作
p3.add(new Button("east-2"),BorderLayout.EAST);
p3.add(new Button("west-2"),BorderLayout.WEST);
for (int i = 0; i < 4; i++) {
p4.add(new Button("h"+i));
}
p3.add(p4,BorderLayout.CENTER);//把P4放在P3里面
//把设置好的面板放在frame里面,只能单独添加
frame.add(p1);
frame.add(p3);
//添加监听事件
frame.addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
}
}
代码效果
心得:写这种面板要提前构思好,要有思路之后再去写,像这个就是主要先把整个面板分成上下两部分,然后整体是四块,上半部分东南西北中式分布两侧,然后单独布置好中间部分,再把中间部分插入到上半部分,同理下半部分操作是一样得,可以借助for循环来简化代码。



京公网安备 11010502036488号