第16章--程序界面布局.ppt

第16章--程序界面布局.ppt

ID:61905811

大小:129.50 KB

页数:28页

时间:2021-03-26

第16章--程序界面布局.ppt_第1页
第16章--程序界面布局.ppt_第2页
第16章--程序界面布局.ppt_第3页
第16章--程序界面布局.ppt_第4页
第16章--程序界面布局.ppt_第5页
资源描述:

《第16章--程序界面布局.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第16章程序界面布局在应用程序界面上,会有各种各样的组件,有时会很复杂。而界面布局良好的程序,就象一个打扮得体的人一样,看上去美观而友好。在Java中,提供了多种称为布局管理器的类来完成界面布局任务,帮助程序员创建高质量的程序界面。16.1标准布局管理器简介很多AWT和Swing类都提供通用的布局管理器,这些通用的布局管理器是Java中的标准布局管理器,包括有:BorderLayout:边框布局。BoxLayout:盒状布局。CardLayout:卡片布局。FlowLayout:流动布局。GridBagLayout

2、:网格包布局。GridLayout:网格布局。GroupLayout:主要用于集成开发工具使用的布局方式。SpringLayout:主要用于集成开发工具使用的布局方式。16.1.1BorderLayout边框布局每一个内容面板(在所有窗体、applet和对话框中,内容面板都是主容器)初始化时都是BorderLayout布局。在使用BorderLayout布局时,组件被放置在5个区域:上、下、左、右和中间,如图所示。16.1.2BoxLayout布局BoxLayout类将组件放在一个单独的行或列上。它会考虑到组件所要

3、求的最大容积,还允许对组件进行排列,如图所示,是将组件放在垂直列上的BoxLayout布局。16.1.3CardLayout卡片布局CardLayout类可以实现在一个区域中不同的时间包含不同的组件。经常通过一个组合框来控制CardLayout,由组合框中的状态决定CardLayout显示哪一个组件,如图所示。16.1.4FlowLayout流动布局FlowLayout(流动布局)是JPanel类默认的布局方式。它简单地将组件布局在一行上,如果一行放不下的话,就另起一行放置,如图所示。16.1.5GridBagLa

4、yout网格包布局GridBagLayout(网格包布局)是一个成熟的、具有弹性的布局管理器。它通过将组件放置在网格中的单元格内来排列组件,允许组件跨多个单元格。在网格中的行可以有不同的宽度,网格中的列可以有不同的宽度,如图所示。16.1.6GridLayout网格布局GridLayout(网格布局)是将容器按照用户的设置平均划分成若干网格。各个组件依次放入各个单元格中,具有相同的大小,如图所示。16.1.7GroupLayout布局GroupLayout布局管理器最初被开发的目的是用于GUI构建工具,但是它也可被

5、手工使用。GroupLayout分别对水平和垂直进行布局管理。相应地,每一个组件需要在布局中被定义两次。16.1.8SpringLayout布局SpringLayout是一个具有弹性的布局管理器,设计的目的也是用于GUI构建器。它可以让程序员指定其控制下组件边缘之间精确地关系。例如,可以定义一个组件左侧与第二个组件右侧一个固定的距离(也可以动态地计算这个距离)。SpringLayout根据一系列的约束来布局与容器相关联的子组件。16.2在程序中使用布局管理器布局管理器是一个实现了LayoutManager接口的对象

6、,它决定一个容器中组件的大小和位置。虽然组件自身可以提供大小和排列方面的设置,但容器的布局管理器有最终决定权。16.2.1设置布局管理器每个JPanel对象初始化时都使用FlowLayout,除非在创建JPanel对象时指明不同的布局管理器。内容面板默认情况下使用BorderLayout布局。可以任意地改变它们的布局管理器。使用JPanel的构造器设置面板对象的布局管理器。16.2.2向容器中添加组件当向一个JPanel对象或内容面板中添加组件时,使用add()方法。指定给add方法的参数依赖于面板或内容面板正在使

7、用的布局管理器。例如,BorderLayout使用如下的代码,指定组件应该被添加到容器的哪个区域。pane.add(aComponent,BorderLayout.PAGE_START);16.2.3提供组件大小和排列策略通过指定组件的一个或多个最小、首选和最大尺寸参数,为布局管理器提供自定义的组件大小策略。在上一章讲过,这可以通过调用setMinimumSize()、setPreferredSize()和setMaximumSize()方法来设置。也可以创建组件的子类并覆盖合适的get方法:getMinimumS

8、ize()、getPreferredSize()和getMaximumSize()。16.2.4设置组件之间的间隙有三个因素影响到容器中可视组件之间的间隙:布局管理器。有的布局管理器自动地设置组件之间的间隙,有些不。不可视组件。一般在BoxLayout布局中使用一些不可视的组件,但它们能占用GUI中的空间。空边框。不管什么布局管理器,都可以通过给组件添加空的

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。