java图形界面的布局设计_第1页
java图形界面的布局设计_第2页
java图形界面的布局设计_第3页
java图形界面的布局设计_第4页
java图形界面的布局设计_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

6.5图形界面的布局设计,每一个容器组件都有一个默认的布局管理方式,也可以用setLayout方法来设置其他布局管理器。一旦确定了布局管理方式,容器组件就可以用add方法加入组件。布局管理器用来确定组件在容器中的位置和大小,AWT中定义了布局管理器接口LayoutManager的实现类来实现此功能。,LayoutManager的实现类:,FlowLayoutBorderLayoutGridLayoutGridBagLayoutCardLayoutnull,6.5.1FlowLayout布局管理器,FlowLayout是一种最简单的布局管理,是Panel的默认布局。它以流式自左向右、自上而下地放置容器中的组件,其默认方式为居中对齐方式,也可以手工设置左对齐或右对齐。,创建默认的FlowLayout布局管理器:FlowLayout()以指定的对齐方式创建:FlowLayout(int)以指定的对齐方式及间距创建FlowLayout布局管理器:FlowLayout(int,int,int),FlowLayout.LEFTFlowLayout.RIGHTFlowLayout.CENTER,对齐方式,组件行间距,组件列间距,6.5.2BorderLayout布局管理器,BorderLayout是Frame和Dialog的默认布局。它将整个容器分为东、西、南、北、中5个部分,加入组件时需要指明放置的位置。创建默认的BorderLayout布局管理器:BorderLayout()以指定的行、列间距创建BorderLayout布局管理器:BorderLayout(int,int),组件行间距,组件列间距,BorderLayout的主要方法,6.5.3GridLayout布局管理器,GridLayout布局将容器划分成m行xn列大小相同的格子,组件放在格子中。创建默认的GridLayout布局,所有组件在一行显示:GridLayout()以指定的行数、列数创建GridLayout布局:GridLayout(int,int)以指定的行数、列数、行间距、列间距创建布局:GridLayout(int,int,int,int),GridLayout的主要方法,importjava.applet.*;importjava.awt.*;importjava.awt.event.*;publicclassTestGridLayoutextendsAppletpublicvoidinit()setLayout(newGridLayout(5,6);/GridLayout布局策略5行6列30网格for(inti=0;i=0)if(int)(Math.random()*100)=50)add(newButton(Integer.toString(i*6+j);/随机加入按钮elseadd(newLabel();/随机加入空白,6.5.4GridBagLayout布局管理器,GridBagLayout布局将容器划分成很多矩形小格子,每个组件可以占用一个或多个单元,从而可以指定每个组件所占空间的大小创建默认的GridBagLayout布局:GridBagLayout()通过设置和组件有关的GridContaints对象的属性来分配每个组件,然后调用GridBagLayout的setContaints方法将组件与GridContaints对象关联,最后将组件加入容器中。,GridContaints对象的常用属性,(1)gridwidth,gridheight这两个参数决定组件所占空间单元的行数和列数,默认值为1。(2)fill当组件显示区域比其尺寸大时,该参数确定怎样重新定义组件大小,其默认值为:GridBagContaints.NORE(不重新定义大小)还可以为:GridBagContaints.Horizontal(水平方向拉伸填满)GridBagContaints.Vertical(垂直方向拉伸填满)GridBagContaints.BOTH(两个方向拉伸填满)(3)weightx,weighty指定分配多余空间的方式,6.5.5CardLayout布局管理器,CardLayout布局将容器中的组件象扑克牌一样排列,每次只能显示最上面的一张。创建默认的CardLayout布局:CardLayout()以指定的行间距、列间距创建GridLayout布局:CardLayout(int,int)将组件(通常是Panel)以CardLayout加入时,需要指定一个名字,如:add(“ONE”,Panel),CardLayout的主要方法,6.5.6null布局管理器,null布局管理器将主动权交给用户,由用户使用坐标系统来放置每个组件,即调用组件的setBounds()方法来设置位置和大小。如

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论