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 }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现