GUI编程技术-布局管理.doc_第1页
GUI编程技术-布局管理.doc_第2页
GUI编程技术-布局管理.doc_第3页
GUI编程技术-布局管理.doc_第4页
GUI编程技术-布局管理.doc_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

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

文档简介

授课日期授课班级软件308-1学期授课计划的章节顺序:GUI编程技术-布局管理授课目的与要求: 布局设计 BorderLayout FlowLayout CardLayout GridLayout BoxLayout Null布局课堂类型:多媒体授课主要教具:多媒体、PPT新课重点与难点: 布局设计 熟练掌握几大常用的布局管理器课外作业(练习题或思考题):任课教师:易斌GUI编程技术-布局管理1. 边界布局BorderLayout是窗口的默认布局使用这种布局的容器,空间被分为东、西、南、北、中5个区域,由BorderLayout中的5个静态常量EAST、WEST、SOUTH、NORTH、 CENTER表示添加组件时,使用表示方位的常量规定添加组件的位置add(b1,BorderLayout.SOUTH),也可以使用指定的字符串表示方位:add(b1, South)构造方法.1 BorderLayout().2 BorderLayout(inthgap, intvgap) hgap水平间隔vgap垂直间隔使用BorderLayout布局管理器的步骤.3 创建BorderLayout对象.4 调用容器的setLayout()方法为容器设置布局管理器.5 调用容器的add(组件,位置)方法向容器中添加组件BorderLayout实例1import java.awt.*;import java.applet.*;public class E1 extends AppletButton b1,b2,b3,b4;TextArea ta;public void init()BorderLayout b=new BorderLayout(10,10);/setLayout(b);b1=new Button(button1);b2=new Button(button2);b3=new Button(button3);b4=new Button(button4);ta=new TextArea(center,5,10);ta.setFont(new Font(,Font.BOLD,18);add(ta,Center);add(b1,East);add(b2,West);add(b3,South);add(b4,North);2. FlowLayout布局管理器流布局在一个 left-to-right 流中安排组件,常用于在面板中安排按钮。 它会从左到右的安排按钮直到在同一行中不可以再放置更多的按钮时为止。 每行都是中心对齐的。构造方法FlowLayout()FlowLayout(int align)align:FlowLayout.LEFT、 FlowLayout.RIGHT、 FlowLayout.CENTERFlowLayout(int align, int hgap, int vgap)方法getAilgnment()setAlignment(int align)使用FlowLayout布局管理器的步骤创建FlowLayout对象容器调用setLayout()方法容器添加组件FlowLayout实例在构造方法的前面添加职下代码:FlowLayout fl=new FlowLayout(FlowLayout.LEFT,10,10);setLayout(fl);3. CardLayout布局管理器它将容器中的每个组件当作一个卡片来处理。在某一时间,只有一个卡片是可见的,容器象一个装卡片的盒子。1、构造方法:(1)、public CardLayout()(2)、public CardLayout(int hgap,int vgap) :水平间隙置于左右两侧,垂直间隙置于上下两侧。2、CardLayout的方法public void first(Container parent):翻到容器的第一张卡片。 参数: parent - 进行布局的容器的名字。 public void next(Container parent):翻到指定容器的下一张卡片。若当前可见的卡片是最后一张卡片,则翻到布局中的第一张卡片。public void previous(Container parent):翻到指定容器的前一张卡片。若当前可见的卡片是第一张卡片,则翻到布局中的最后一张卡片。 3、使用CardLayout管理器的步骤:(1)创建CardLayout对象作为布局管理器(2)使用容器的setLayout()方法为容器设置布局管理器(3)调用容器的add()方法将组件加入容器(4)调用CardLayout的方法显示某一个组件CardLayout实例1import java.awt.*;import java.applet.*;import java.awt.event.*;public class E3 extends Applet implements ActionListenerButton b1,b2,b3,b4;Panel p;CardLayout card;public void init()p=new Panel();card=new CardLayout(20,20);setBackground(Color.white);p.setLayout(card);p.setBackground(Color.red);b1=new Button(第一张卡片);b2=new Button(第二张卡片);b3=new Button(第三张卡片);b4=new Button(第四张卡片);p.add(1,b1);p.add(2,b2);p.add(3,b3);p.add(4,b4);b1.addActionListener(this);b2.addActionListener(this);b3.addActionListener(this);b4.addActionListener(this);add(p);public void actionPerformed(ActionEvent e)card.next(p);4. GridLayout布局管理器以矩形网格形式对容器中的组件进行布局。容器被分成尺寸相等的矩形,一个组件放置在一个矩形中。构造方法GridLayout()GridLayout(int rows,int cols)GridLayout(int rows,int cols,int hgap,int vgap)方法getColumns()、setColumns(int cols)getRows()、getRows(int rows)使用GridLayout管理器的步骤创建GridLayout对象,并设置划分网络的行数和列数调用容器的setLayout()方法为容器设置布局管理器调用容器的add()方法向容器中添加组件GridLayout布局管理器实例import java.awt.*;public class E5 extends Framepublic E5()setSize(400,300);setLocation(100,100);setBackground(Color.CYAN);GridLayout gl=new GridLayout(2,3,5,5);setLayout(gl);add(new Button(按钮1);add(new Button(按钮2);add(new Button(按钮3);add(new Button(按钮4);add(new Button(按钮5);show();public static void main(Stringargs)new E5();5. BoxLayout盒式布局javax.swing包中的类,该包中还提供了一个Box类,该类的布局为盒式布局,而且不容许更改盒式容器的布局。构造方法public BoxLayout(Container target, int axis)target - 需要布置的容器axis - 布置组件时使用的轴。它可以是以下值之一:BoxLayout.X_AXIS、BoxLayout.Y_AXIS、BoxLayout.LINE_AXIS 或 BoxLayout.PAGE_AXIS Box类的静态方法可以获得盒式布局的盒式容器public static Box createHorizontalBox()public static Box createVerticalBox()盒式容器实例1import java.awt.*;import javax.swing.*;import java.awt.event.*;import java.applet.*;public class E6 extends AppletBox baseBox,boxH,boxV;public void init()baseBox=Box.createHorizontalBox();boxH=Box.createHorizontalBox();boxV=Box.createVerticalBox();for (int i = 1; i=5; i+)boxH.add(new JButton(按钮+i);boxV.add(new JButton(按钮+i);baseBox.add(boxH);baseBox.add(boxV);add(baseBox);6. null空布局未使用任何布局的容器必须设置放置组件的大小和位置。import java.awt.*;public class E8 extends FrameTextField t1,t2,t3;Button b1,b2,b3,b4;public E8()setLayout(null);setSize(500,400);t1=new TextField(8);t2=new TextField(8);t3=new TextField(8);b1=new Button(+);b2=new Button(-);b3=new Button(*);b4=new Button(/);t1.setLocation(20,90);b1.setLocation(110,50);b2.setLocation(110,80);b3.setLocation(110,110);b4.setLocation(110,140);t2.setLocation(140,90);t3.setLocation(230,90);t1.setSize(80,20);t2.setSize(80,20);t3.setSize(80,20);b1.setSize(20,20);b2.setSize(20,20)

温馨提示

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

评论

0/150

提交评论