(59)--14.4 GUI布局管理器面向对象程序设计.ppt
《(59)--14.4 GUI布局管理器面向对象程序设计.ppt》由会员分享,可在线阅读,更多相关《(59)--14.4 GUI布局管理器面向对象程序设计.ppt(16页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1l布局:一个容器中的各个组件之间的位置和大小关系布局:一个容器中的各个组件之间的位置和大小关系l布局管理器:管理组件在容器中的布局,而不是直接使用位置坐标来布局管理器:管理组件在容器中的布局,而不是直接使用位置坐标来设置各个组件的位置和大小。设置各个组件的位置和大小。lJava提供的提供的6种布局管理器种布局管理器uFlowLayout(流式布局管理器)(流式布局管理器)uBorderLayout(边界布局管理器)(边界布局管理器)uCardLayout(卡片布局管理器)(卡片布局管理器)uGridLayout(网格布局管理器)(网格布局管理器)uGridBagLayout(网格包布局管理器
2、)(网格包布局管理器)uBoxLayout(网球布局管理器)(网球布局管理器)注意:注意:对于一些复杂的情况,往往需要使用容器的嵌套,各容器对于一些复杂的情况,往往需要使用容器的嵌套,各容器可使用不同的布局。当容器的尺寸改变时,布局管理器会可使用不同的布局。当容器的尺寸改变时,布局管理器会自动调整组件的排列自动调整组件的排列12.4布局管理器2l流式布局(流式布局(FlowLayout):):u最基本的一种布局最基本的一种布局u把图形元件以组件的把图形元件以组件的preferredSize一个接一个地显示在面板上,一个接一个地显示在面板上,如果一行显示不了所有的组件,会自动换到下一行显示。如果
3、一行显示不了所有的组件,会自动换到下一行显示。u是是Panel、JApplet和和JPanel默认的布局管理方式。默认的布局管理方式。u setLayout()方法是所有容器的父类方法是所有容器的父类Container的方法,用于容器的方法,用于容器设置布局。设置布局。lFlowLayout的构造方法:的构造方法:uFlowLayout():生成一个默认的流式布局生成一个默认的流式布局uFlowLayout(int alignment):可以设定每一行组件的对齐方式可以设定每一行组件的对齐方式 uFlowLayout(int alignment,int horz,int vert):可以设定组
4、件间可以设定组件间的水平和垂直距离,默认值为的水平和垂直距离,默认值为5个像素个像素FlowLayout mylayout=new FlowLayout();FlowLayout exLayout=new FlowLayout(FlowLayout.RIGHT);setLayout(exlayout);/为容器设置新布局为容器设置新布局 12.4布局管理器3例:例:setLayout(new FlowLayout(FlowLayout.LEFT,10,20);缺点:当用户对由缺点:当用户对由FlowLayout布局管理的区域进行缩放时,布局管理的区域进行缩放时,布局发生变化。布局发生变化。该布
5、局适用于组件个数较少的情况。该布局适用于组件个数较少的情况。改变窗口大小改变窗口大小演示程序:【例9-3】流式布局管理器FlowLayout类的应用。12.4布局管理器4lBorderLayout(边界布局管理器):(边界布局管理器):u包括包括5个区:北区、南区、东区、西区和中区。个区:北区、南区、东区、西区和中区。u分布规律是分布规律是“上北下南,左西右东上北下南,左西右东”。u将组件加入容器中时,应该指出加在哪个区域,若没指定区将组件加入容器中时,应该指出加在哪个区域,若没指定区域,则默认为中间。域,则默认为中间。u若将组件加入到已被占用位置时,将会取代原先的组件。若将组件加入到已被占用
6、位置时,将会取代原先的组件。u容器容器JFrame和对话框组件和对话框组件JDialog默认使用的布局管理器。默认使用的布局管理器。u如果某个区域没有分配组件,则其他组件可以占据它的空间。如果某个区域没有分配组件,则其他组件可以占据它的空间。12.4布局管理器5l与流布局管理器不同的是与流布局管理器不同的是:各区域的组件并不一定会维持各区域的组件并不一定会维持原来定义的大小,而是会充满各区域所提供的空间。原来定义的大小,而是会充满各区域所提供的空间。l常用的构造函数如下:常用的构造函数如下:uBorderLayout():生成一个:生成一个BorderLayout对象。对象。uBorderLa
7、yout(int hgap,int vgap):生成一个生成一个BorderLayout并指定组件间的水平和垂直间距。并指定组件间的水平和垂直间距。演示程序:【例9-4】边界布局管理器BorderLayout类的应用。12.4布局管理器6l卡片布局管理器(卡片布局管理器(CardLayout):):u把每个组件看作一张卡片,好像扑克牌叠在一起,只把每个组件看作一张卡片,好像扑克牌叠在一起,只看到最外面的一个组件。看到最外面的一个组件。u被显示的组件占据所有的容器空间。被显示的组件占据所有的容器空间。u使用使用add()方法往窗口容器中加入组件时对每个组件赋方法往窗口容器中加入组件时对每个组件赋
8、予一个名字,依据这个名字利用予一个名字,依据这个名字利用CardLayout类所提供的类所提供的方法来控制其他组件是否显示。方法来控制其他组件是否显示。利用卡片布局管理器时,通常利用卡片布局管理器时,通常要用到多个容器,其中一个容要用到多个容器,其中一个容器使用卡片布局管理器,而另器使用卡片布局管理器,而另外的容器使用其他布局管理器。外的容器使用其他布局管理器。演示程序:【例9-5】卡片布局管理器CardLayout类的应用。12.4布局管理器7l网格布局管理器(网格布局管理器(GridLayout):):u将容器划分成若干行列的网格,按从左到右、从上到将容器划分成若干行列的网格,按从左到右、
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 59-14.4 GUI布局管理器面向对象程序设计 59 14.4 GUI 布局 管理器 面向 对象 程序设计
限制150内