GUI编程技术布局管理.docx

上传人:b****6 文档编号:7590121 上传时间:2023-01-25 格式:DOCX 页数:11 大小:17.64KB
下载 相关 举报
GUI编程技术布局管理.docx_第1页
第1页 / 共11页
GUI编程技术布局管理.docx_第2页
第2页 / 共11页
GUI编程技术布局管理.docx_第3页
第3页 / 共11页
GUI编程技术布局管理.docx_第4页
第4页 / 共11页
GUI编程技术布局管理.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

GUI编程技术布局管理.docx

《GUI编程技术布局管理.docx》由会员分享,可在线阅读,更多相关《GUI编程技术布局管理.docx(11页珍藏版)》请在冰豆网上搜索。

GUI编程技术布局管理.docx

GUI编程技术布局管理

授课日期

授课班级

软件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")

构造方法

2.1BorderLayout()

2.2BorderLayout(int hgap,int vgap)

hgap水平间隔

vgap垂直间隔

使用BorderLayout布局管理器的步骤

3.1创建BorderLayout对象

3.2调用容器的setLayout()方法为容器设置布局管理器

3.3调用容器的add(组件,位置)方法向容器中添加组件

BorderLayout实例1

importjava.awt.*;importjava.applet.*;

publicclassE1extendsApplet

{

Buttonb1,b2,b3,b4;

TextAreata;

publicvoidinit()

{

BorderLayoutb=newBorderLayout(10,10);

//setLayout(b);

b1=newButton("button1");

b2=newButton("button2");

b3=newButton("button3");

b4=newButton("button4");

ta=newTextArea("center",5,10);

ta.setFont(newFont("",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(intalign)

align:

FlowLayout.LEFT、FlowLayout.RIGHT、FlowLayout.CENTER

FlowLayout((intalign,inthgap,intvgap)

方法

getAilgnment()

setAlignment(intalign)

使用FlowLayout布局管理器的步骤

创建FlowLayout对象

容器调用setLayout()方法

容器添加组件

FlowLayout实例

在构造方法的前面添加职下代码:

FlowLayoutfl=newFlowLayout(FlowLayout.LEFT,10,10);

setLayout(fl);

3.CardLayout布局管理器

它将容器中的每个组件当作一个卡片来处理。

在某一时间,只有一个卡片是可见的,容器象一个装卡片的盒子。

1、构造方法:

(1)、publicCardLayout()

(2)、publicCardLayout(inthgap,intvgap):

水平间隙置于左右两侧,垂直间隙置于上下两侧。

2、CardLayout的方法

publicvoidfirst(Containerparent):

翻到容器的第一张卡片。

参数:

parent-进行布局的容器的名字。

publicvoidnext(Containerparent):

翻到指定容器的下一张卡片。

若当前可见的卡片是最后一张卡片,则翻到布局中的第一张卡片。

publicvoidprevious(Containerparent):

翻到指定容器的前一张卡片。

若当前可见的卡片是第一张卡片,则翻到布局中的最后一张卡片。

3、使用CardLayout管理器的步骤:

(1)创建CardLayout对象作为布局管理器

(2)使用容器的setLayout()方法为容器设置布局管理器

(3)调用容器的add()方法将组件加入容器

(4)调用CardLayout的方法显示某一个组件

CardLayout实例1

importjava.awt.*;importjava.applet.*;

importjava.awt.event.*;

publicclassE3extendsAppletimplementsActionListener

{

Buttonb1,b2,b3,b4;Panelp;CardLayoutcard;

publicvoidinit()

{

p=newPanel();

card=newCardLayout(20,20);

setBackground(Color.white);

p.setLayout(card);

p.setBackground(Color.red);

b1=newButton("第一张卡片");

b2=newButton("第二张卡片");

b3=newButton("第三张卡片");

b4=newButton("第四张卡片");

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);

}

publicvoidactionPerformed(ActionEvente)

{card.next(p);}

}

4.GridLayout布局管理器

以矩形网格形式对容器中的组件进行布局。

容器被分成尺寸相等的矩形,一个组件放置在一个矩形中。

构造方法

GridLayout()

GridLayout(introws,intcols)

GridLayout(introws,intcols,inthgap,intvgap)

方法

getColumns()、setColumns(intcols)

getRows()、getRows(introws)

使用GridLayout管理器的步骤

创建GridLayout对象,并设置划分网络的行数和列数

调用容器的setLayout()方法为容器设置布局管理器

调用容器的add()方法向容器中添加组件

GridLayout布局管理器实例

importjava.awt.*;

publicclassE5extendsFrame

{

publicE5()

{

setSize(400,300);

setLocation(100,100);

setBackground(Color.CYAN);

GridLayoutgl=newGridLayout(2,3,5,5);

setLayout(gl);

add(newButton("按钮1"));

add(newButton("按钮2"));

add(newButton("按钮3"));

add(newButton("按钮4"));

add(newButton("按钮5"));

show();

}

publicstaticvoidmain(String[]args)

{

newE5();

}

}

5.BoxLayout—盒式布局

javax.swing包中的类,该包中还提供了一个Box类,该类的布局为盒式布局,而且不容许更改盒式容器的布局。

构造方法

publicBoxLayout(Containertarget,intaxis)

target-需要布置的容器

axis-布置组件时使用的轴。

它可以是以下值之一:

BoxLayout.X_AXIS、BoxLayout.Y_AXIS、BoxLayout.LINE_AXIS或BoxLayout.PAGE_AXIS

Box类的静态方法可以获得盒式布局的盒式容器

publicstaticBoxcreateHorizontalBox()

publicstaticBoxcreateVerticalBox()

盒式容器实例1

importjava.awt.*;importjavax.swing.*;

importjava.awt.event.*;

importjava.applet.*;

publicclassE6extendsApplet

{

BoxbaseBox,boxH,boxV;

publicvoidinit()

{

baseBox=Box.createHorizontalBox();

boxH=Box.createHorizontalBox();

boxV=Box.createVerticalBox();

for(inti=1;i<=5;i++)

{

boxH.add(newJButton("按钮"+i));

boxV.add(newJButton("按钮"+i));

}

baseBox.add(boxH);baseBox.add(boxV);

add(baseBox);

}

}

6.null空布局

未使用任何布局的容器

必须设置放置组件的大小和位置。

importjava.awt.*;

publicclassE8extendsFrame

{

TextFieldt1,t2,t3;

Buttonb1,b2,b3,b4;

publicE8()

{

setLayout(null);

setSize(500,400);

t1=newTextField(8);

t2=newTextField(8);

t3=newTextField(8);

b1=newButton("+");

b2=newButton("-");

b3=newButton("*");

b4=newButton("/");

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);

b3.setSize(20,20);

b4.setSize(20,20);

add(t1);add(t2);add(t3);add(b1);

add(b2);add(b3);add(b4);

show();

}

publicstaticvoidmain(String[]args)

{

newE8();

}

}

 

本章新课巩固要点:

✓Web窗体的组成

✓ASP.NET的功能

✓ASP.NET的工作原理

✓IIS的配置

✓ASP.NET应用程序创建的步骤

教研室主任审阅:

 

年月日

改进措施:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 工学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1