- 13
- 0
- 约1.58万字
- 约 65页
- 2017-01-01 发布于重庆
- 举报
第七章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):提供一种在一定范围内,灵活设定组件间距的布局策略。 弹簧具有:最小值、首选值、最大值
您可能关注的文档
最近下载
- 会计报表附注(企业会计准则).pdf VIP
- 2025年深圳市考公务员考试《行测》真题及答案.docx
- 2025年山东省公务员考试《行测》真题及答案.pdf
- 股权转让合同协议简单范本.doc VIP
- 2025年山东省公务员考试《行测》真题及答案.docx
- 2025年江西省公务员考试《行测》真题及答案.pdf
- 数字普惠金融对中小企业融资约束的影响研究.docx VIP
- 【新教材】人教版(2024)七年级上册数学第五章 一元一次方程 综合素质评价试卷(Word版,含答案).docx VIP
- 2025年江西省公务员考试《行测》真题及答案.docx
- 2025年河北省公务员考试《行测》真题及答案.pdf
原创力文档

文档评论(0)