- 1、本文档共65页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第七章Swing用户界面组件 广东工业大学计算机学院 本章内容 7.1 布局管理器概述 7.2 常用组件介绍 文本输入 选择组件和单选按钮 菜单 工具栏 什么是布局管理器 当往窗口中放置组件时,首先要指定组件的放置策略。 布局管理器:解决如何将组件安排在一个框架或面板内的问题。 三种最简单的布局管理器: 流布局管理器(flow layout manager) 边界布局管理器(border layout manager) 网格布局管理器(grid layout manger) 1. 流布局管理器 流布局管理器(flow layout manager) 将组件按加入的先后次序从左至右排列在面板中。 在Java API库中,流布局管理器对应的类是FlowLayout,它有3个构造器: FlowLayout():居中对齐,水平间距和垂直间距都是5个像素。 FlowLayout(int align):指定对齐方式align,水平间距和垂直间距都是5个像素。 FlowLayout(int align, int hGap, int vGap):指定对齐方式align、水平间距和垂直像素。 对于对齐方式,可以用FlowLayout类中的以下属性指定: LEFT / CENTER / RIGHT:左对齐/居中对齐/右对齐 流布局管理器的使用效果 JPanel容器类默认使用的布局管理器是流布局管理器。 按钮居中显示在一行中,当一行空间不够时,就显示在新的一行上。如图所示: 用户对框架进行拖动缩放,这些按钮也会显示在面板的中央。 2. 边界布局管理器 边界布局管理器(border layout manager)把一个容器(例如panel)分成North、West、Center、East、South五部分,对应的类是BorderLayout。 效果举例 仅使用BorderLayout来定位组件往往不能准确定位组件。下图显示了上一个页面中代码的执行结果: 按钮自动扩展到填满框架的整个South区域;而且如果再往South区域添加一个新按钮时,旧按钮就会被替换掉。 面板嵌套 可以通过面板嵌套来解决这个问题: 1. 创建一个新panel,命名为southPanel。 2. 在southPanel中设置按钮的布局方式,向southPanel中添加按钮。 3. 添加southPanel至South区域。 网格布局管理器 网格布局管理器(grid layout manger):这种布局是将容器分成单元格,每个单元格的大小都一样。例如: panel.setLayout(new GridLayout(2, 3)); 将面板分成2行和3列,然后将组件添加到单元格中: panel.add(new JButton(“1”)); panel.add(new JButton(“2”)); 组件的添加顺序是从第一行第一列开始,接着是第一行第二列…… 网格布局布局管理器总是忽略组件的最佳大小。所有单元的宽度和高度是相同的,是根据单元数对可用宽度和高度进行平分而定。 举例:计算器程序 制作一个如图所示的计算器程序。 使用面板嵌套技术: 布局管理器小结 布局管理器主要应用于容器类中。其一般使用步骤如下: 1. 获得容器类对象。 例如:JPanel parentPanel = new JPanel(); 2. 对该容器类对象设置布局管理器。 例如:panel.setLayout(new GridLayout(2, 3)); 3. 根据布局管理器的特性,将组件放置于适当的位置。 例如:panel.add(new JButton(“1”)); 4. 如果需要获得更加精确的布局,可以使用容器类的嵌套。 复杂的布局管理器 除了这些简单的布局管理器,Java还提供了一系列功能更加强大,使用起来也更加复杂的管理器: 1. 箱式布局管理器(BoxLayout) 2. 网格组布局管理器(GridbagLayout) 3. 弹簧布局管理器(SpringLayout) 另外,用户还可以自定义布局管理器。 详细介绍参考《java2核心技术卷I》P393 1. 箱式布局管理器 箱式布局管理器(BoxLayout):用于布局单行或者单列组件。 布局策略:将组件按行或者列排列。如果组件的最小宽度之和大于箱的宽度,则不显示某些组件。组件之间的间隔要手动添加。 2.网格组布局管理器 网格组布局管理器(GridbagLayout):“没有限制的网格布局”。 特点:可以改变行和列的的尺寸;大的组件可以占用多行或多列。 3. 弹簧布局管理器 弹簧布局管理器(SpringLayout):提供一种在一定范围内,灵活设定组件间距的布局策略。 弹簧具有:最小值、首选值、最大值
文档评论(0)