千家信息网

javaGUI编程中布局控制器的示例分析

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,javaGUI编程中布局控制器的示例分析,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。布局控制器,是用来系统自动分配各个componen
千家信息网最后更新 2026年11月01日javaGUI编程中布局控制器的示例分析

javaGUI编程中布局控制器的示例分析,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

布局控制器,是用来系统自动分配各个component在window内部是怎么排布的;默认为FlowLayout,即挨个排序。FlowLayout是Panel的

instance 1:FlowLayout

import java.awt.*;public class TestLayout { public static void main(String[] args) { Frame f = new Frame(); Button b1 = new Button("ok"); Button b2 = new Button("open"); Button b3 = new Button("change"); f.setBackground(Color.BLUE); f.setBounds(100, 100, 300, 300); f.setLayout(new FlowLayout()); f.setResizable(true); f.add(b1); f.add(b2); f.add(b3); f.setVisible(true); }}

instance 2:BorderLayout

import java.awt.*;public class TestBorderLayout { public static void main(String[] args) { Frame f = new Frame("Border Layout"); Button bn = new Button("Bn"); Button bs = new Button("Bs"); Button be = new Button("Be"); Button bw = new Button("Bw"); Button bc = new Button("Bc"); // f.add(bw,"West");// f.add(be,"East");// f.add(bn,"North");// f.add(bs,"South");// f.add(bc,"Center");// f.setLayout(new BordorLayout()); f.add(bn,BorderLayout.NORTH); f.add(bs,BorderLayout.SOUTH); f.add(bw,BorderLayout.WEST); f.add(be,BorderLayout.EAST); f.add(bc,BorderLayout.CENTER); f.setSize(200, 200); f.setVisible(true); }}

BorderLayout把整个界面划分为东西南北中五个区域块;其中BorderLayout.NORTH等是int类型的数据,为一个常量。

instance 3:GridLayout

import java.awt.*;public class TestGridLayout { public static void main(String[] args) { Frame f = new Frame(); Button b1 = new Button("b1"); Button b2 = new Button("b2"); Button b3 = new Button("b3"); Button b4 = new Button("b4"); Button b5 = new Button("b5"); Button b6 = new Button("b6"); f.setLayout(new GridLayout(3,2)); f.add(b1); f.add(b2); f.add(b3); f.add(b4); f.add(b5); f.add(b6); f.pack(); f.setSize(200, 200); f.setVisible(true); }}

注:当调用Layout后,其内部的component的大小和位置由系统(布局管理器自主分配),而无法认为的设计。而pack()方法是用来显示各个组件的。

instance 4:综合实例

import java.awt.*;public class TestedLayout { public static void main(String[] args) { Frame f = new Frame("GUI"); f.setLayout(new GridLayout(2,1)); Panel p1 = new Panel(new BorderLayout()); Panel p2 = new Panel(new BorderLayout()); Panel p11 = new Panel(new GridLayout(2,1)); Panel p22 = new Panel(new GridLayout(2,2)); Button b1 = new Button("button"); Button b2 = new Button("button"); Button b3 = new Button("button"); Button b4 = new Button("button"); Button b5 = new Button("button"); Button b6 = new Button("button"); Button b7 = new Button("button"); Button b8 = new Button("button"); Button b9 = new Button("button"); Button b10 = new Button("button"); p1.add(b1,BorderLayout.WEST); p1.add(b2,BorderLayout.EAST); p2.add(b3,BorderLayout.WEST); p2.add(b4,BorderLayout.EAST); p11.add(b5); p11.add(b6); p22.add(b7); p22.add(b8); p22.add(b9); p22.add(b10); p1.add(p11,BorderLayout.CENTER); p2.add(p22,BorderLayout.CENTER); f.add(p1); f.add(p2); f.setBounds(100, 100, 400, 400); f.setVisible(true); }}

注:一个new等于创建了一个button对象,分配了一个内存空间。即使是完全相同的button即同样的大小名称等,其终究还是哪一个,当其被反复添加时,仅仅是相当于给其换了位置。其和变量不同,并不是单纯的复制,而是内存和对象的指向问题。

看完上述内容,你们掌握javaGUI编程中布局控制器的示例分析的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!

布局 控制器 控制 方法 问题 分配 示例 分析 编程 位置 内存 内容 大小 对象 更多 系统 不同 相同 束手无策 东西南北中 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网络科技 华服互联网科技怎么样 成都互联网科技公司 华中科技大学互联网 广州互联网络科技有限公司 成都狮子座互联网科技 多迪互联网科技有限公司 互联网科技类展会 宁波青枫互联网科技有限公司 佳云科技和互联网广告 浙江互联网科技研学营 互联网科技人工智能实验室 迪庆互联网科技招生 互联网公司黑科技创始人 互联网行业科技股 烟台灵鸽互联网科技有限公司 互联网科技企业商标注意事项 互联网科技手抄报图片 三亚科技创新互联网基地 重庆科技产业互联网有哪些 互联网新科技 蓝思科技飞鸽互联网 没上市的科技互联网公司 广州互联网络科技有限公司 西藏七维空间互联网科技有限公司 互联网还是高科技吗 湖北码尼互联网科技有限公司电话 花神(南京)互联网科技有限公司 注册互联网科技公司经营范围大全 链环科技传统企业怎么转型互联网
0