Panel和布局方式的灵活使用

设计以下布局:

 

 

代码实例:

复制代码
 1 public static void main(String[] args)
 2     {
 3         //整体上采用逐步细分的思想来完成,先把几个有规律的看作一个整体,再把整体再继续往下逐渐划分
 4         
 5         Frame frame = new Frame("test");
 6         frame.setSize(400,300);
 7         frame.setLocation(300,400);
 8         frame.setBackground(Color.blue);
 9         frame.setVisible(true);
10         frame.setLayout(new GridLayout(2,1));//先将整个页面分为上下两个大的Panel
11         
12         //对上面一个Panel进行处理
13         Panel p1 = new Panel(new BorderLayout());//分为西中东三块
14         Panel p2 = new Panel(new GridLayout(2,1));//中部的那块为两行一列,再用一个Panel处理
15         
16         p1.add(new Button("button"),BorderLayout.WEST);//每次新加入button都要重新new,不能加同一个button,否则会出bug
17         p1.add(new Button("button"),BorderLayout.EAST);
18         p2.add(new Button("button"));
19         p2.add(new Button("button"));
20         p1.add(p2,BorderLayout.CENTER);
21         
22         //对下面一个Panel进行处理
23         Panel p3 = new Panel(new BorderLayout());
24         Panel p4 = new Panel(new GridLayout(2,2));
25         
26         p3.add(new Button("button"),BorderLayout.WEST);
27         p3.add(new Button("button"),BorderLayout.EAST);
28         p4.add(new Button("button"));
29         p4.add(new Button("button"));
30         p4.add(new Button("button"));
31         p4.add(new Button("button"));
32         p3.add(p4,BorderLayout.CENTER);
33         
34         frame.add(p1);
35         frame.add(p3);
36         
37         frame.addWindowListener(new WindowAdapter() {
38             public void windowClosing(WindowEvent e)
39             {
40                 System.exit(0);
41             }
42         });
43     }
复制代码

 

posted @   jue1e0  阅读(110)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示