Java 布局管理器

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。


编写图形界面应用程序
布局管理器
5. GridBagLayout 见例题: 见例题:GridBagWindow.java
如果没有设fill 参数: 如果没有组件设weightx参数:
编写图形界面应用程序
布局管理器
综合例子: 综合例子:
编写图形界面应用程序
布局管理器
综合例子: 综合例子:
编写图形界面应用程序
编写图形界面应用程序
布局管理器
1. BorderLayout
• • 是顶层容器( JFrame, JDialog, 和 JApplet ) 的默认布局管理器。 有五个位置组件:
编写图形界面应用程序
布局管理器
1. BorderLayout 见例题: 见例题:BorderWindow.java
编写图形界面应用程序
布局管理器
综合例子: 综合例子:
编写图形界面应用程序
布局管理器
4. BoxLayout • 使用隐形 使用隐形Components作为填充。 作为填充。 作为填充
编写图形界面应用程序
布局管理器
4. BoxLayout • 使用隐形 使用隐形Components作为填充。 作为填充。 作为填充
– Rigid area Box.createRigidArea(size)
container.add(firstComponent); container.add(Box.createRigidArea(new Dimension(5,0))); container.add(secondComponent);
编写图形界面应用程序
布局管理器
4. BoxLayout • 使用隐形 使用隐形Components作为填充。 作为填充。 作为填充 – Glue :horizontal - Box.createHorizontalGlue() vertical -Box.createVerticalGlue()
布局管理器
1. BorderLayout 当调整窗口大小时: 当调整窗口大小时:
编写图形界面应用程序
布局管理器
2.
• •
FlowLaywk.baidu.comut
panel 类的默认布局管理器。 组件按照加入的先后循序从左向右排列,一行 排满后 之后就下转到下一行继续从左至右排列 每一行中的组件都居中排列 使用components的preferred sizes
编写图形界面应用程序
布局管理器
4. BoxLayout • X alignments 和maximum size
– – – X alignment of 0.0 (Component.LEFT_ALIGNMENT Component.LEFT_ALIGNMENT) Component.LEFT_ALIGNMENT X alignment of 0.5 (Component.CENTER_ALIGNMENT Component.CENTER_ALIGNMENT). Component.CENTER_ALIGNMENT X alignment of 1.0 (Component.RIGHT_ALIGNMENT Component.RIGHT_ALIGNMENT) Component.RIGHT_ALIGNMENT
编写图形界面应用程序
布局管理器
4. BoxLayout 例子: 例子:
button1.setAlignmentY(Component.BOTTOM_ALIGNMENT); button2.setAlignmentY(Component.BOTTOM_ALIGNMENT);
编写图形界面应用程序
布局管理器 4. BoxLayout 例子: 例子:
– – – – 所有top-to-bottom BoxLayout object 应该有相同的 X 所有 alignment。 。 所有left-to-right Boxlayout应该有相同的 Y alignment Boxlayout应该有相同的 所有 可以实现对齐。 setAlignmentX 和setAlignmentY 可以实现对齐。 大部分组件是center X and Y alignment ,而buttons, 大部分组件是 combo boxes, labels, and menu items 是 LEFT_ALIGNMENT
container.add(firstComponent); container.add(Box.createHorizontalGlue()); container.add(secondComponent);
编写图形界面应用程序
布局管理器
4. BoxLayout • 组件对齐 一般来说: 一般来说:
编写图形界面应用程序
布局管理器
5. GridBagLayout
编写图形界面应用程序
布局管理器
5. GridBagLayout
通过创建一个gridBagConstraints实例为组件 设置布局参数:
• • • • • • gridx, gridx gridy gridwidth, gridwidth gridheight fill ipadx, ipadx ipady insets anchor CENTER (the default), NORTH, NORTHEAST, EAST, SOUTHEAST, SOUTH, SOUTHWEST, WEST, and NORTHWEST. weightx, weightx weighty
• • •
编写图形界面应用程序
布局管理器
GridLayout 3. 当调整窗口大小时: 当调整窗口大小时:
编写图形界面应用程序
布局管理器
3. GridLayout
见例题:GridWindow.java
编写图形界面应用程序
布局管理器
4.
• •
BoxLayout
组件按从左到右或从上到下的方法加入 考虑 components的对齐and minimum, preferred, and maximum sizes 见例题:BoxWindow.java
• •
编写图形界面应用程序
布局管理器
2. FlowLayout 当调整窗口大小时: 当调整窗口大小时:
编写图形界面应用程序
9.3 布局管理器
2. FlowLayout 见例题: 见例题:FlowWindow.java
编写图形界面应用程序
布局管理器 3.

GridLayout
基本布局策略是把容器的空间划分成若干行乘若干列的网格区域, 组件就位于这些划分出来的小区域中。 所有的区域大小一样。 组件按从左到右,从上到下的方法加入。 用构造函数划分出网格的行数和列数, new GridLayout(行数,列数)。
编写图形界面应用程序
布局管理器
1. 2. 3. 4. 5. FlowLayout BorderLayout BoxLayout GridLayout GridBagLayout
编写图形界面应用程序
布局管理器
使用布局管理器的一般原则: 使用布局管理器的一般原则: 当创建 JPanel 或 添加 components 到一 个 content pane 时,需要考虑使用布局 管理器。 其他的中间容器不需要考虑布局管理器。
label.setAlignmentX(Component.CENTER_ALIGNMENT);
编写图形界面应用程序
布局管理器
5. GridBagLayout
• • • • 是在GridLayout的基础上发展起来的 为每个组件指定其包含的网格个数 组件可以保留原来的大小 可以以任意顺序加入容器的任意位置
相关文档
最新文档