单元8 图形用户界面设计ppt课件.ppt
《单元8 图形用户界面设计ppt课件.ppt》由会员分享,可在线阅读,更多相关《单元8 图形用户界面设计ppt课件.ppt(47页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、在此输入您的封面副标题单元单元8 图形用户界面设计图形用户界面设计单元单元8 图形用户界面设计图形用户界面设计28.1 图形用户界面图形用户界面图形用户界面即图形用户界面即Graphics User Interface,简称为,简称为GUI。目前,图形用户界面是软件设计的通用标准,已经成为一种时尚,几乎所目前,图形用户界面是软件设计的通用标准,已经成为一种时尚,几乎所有的程序设计语言(如典型的有的程序设计语言(如典型的Visual Basic、Visual C+语言等)都语言等)都提供了提供了GUI功能。功能。8.1.1 设计设计GUI所需的程序包所需的程序包在在Java语言中,要创建语言中,
2、要创建GUI界面,需要利用一些特定的类库界面,需要利用一些特定的类库(称为组件类称为组件类)来实现,这些用来设计图形用户界面的类库,基本上都放在来实现,这些用来设计图形用户界面的类库,基本上都放在java.awt、和和javax.swing等系统程序包中,它们为等系统程序包中,它们为GUI的设计提供了丰富多样的的设计提供了丰富多样的功能。功能。单元单元8 图形用户界面设计图形用户界面设计38.1.2 AWT基本知识基本知识1.AWT类和接口的继承关系类和接口的继承关系常用的组件类包括常用的组件类包括Label(标签类)、(标签类)、Button(按钮类)、(按钮类)、Checkbox(复选框类
3、)、(复选框类)、RadioButton(单选框类)、(单选框类)、TextField(文本域类)、(文本域类)、TextArea(文本区域类)、(文本区域类)、Choice(选(选择框类)、择框类)、list(列表框类)、(列表框类)、Cavas(画布类)、(画布类)、Menu(菜单类)(菜单类)以及以及Window(窗口类)、(窗口类)、Panel(面板类)、(面板类)、Frame(框架类)、(框架类)、Applet类、类、Dialog(对话框类)等容器类(对话框类)等容器类(Container),还包括还包括FlowLayout、BorderLayout、GridLayout、CardL
4、ayout、GridBagLayout等布局管理器类(等布局管理器类(LayoutManager)。)。AWT组组件类的继承关系如图件类的继承关系如图8-2所示。所示。单元单元8 图形用户界面设计图形用户界面设计4单元单元8 图形用户界面设计图形用户界面设计52.设计设计GUI的一般要素与基本过程的一般要素与基本过程(1)组件对象的创建。)组件对象的创建。(2)容器对象的创建。)容器对象的创建。(3)组件的添加或删除。)组件的添加或删除。3.AWT组件的一般功能组件的一般功能(1)大小和位置可以控制。)大小和位置可以控制。设置组件大小与位置的方法如下:设置组件大小与位置的方法如下:public
5、 void setSize(int w,int h) :设置组件的大小。:设置组件的大小。public void setLocation(int a,int b):设置组件在容器中的位置,:设置组件在容器中的位置,组件距容器的左、上边界各为组件距容器的左、上边界各为a、b个像素。个像素。(2)外形可以控制。)外形可以控制。例如利用例如利用setForeground()方法设置组件前景色,方法设置组件前景色,setBackground()方法设置背景颜色。方法设置背景颜色。(3)组件的状态可以控制。)组件的状态可以控制。用用show() 或或setVisible()方法设置组件是否可见。方法设置
6、组件是否可见。 (4)基本绘画功能的支持。)基本绘画功能的支持。paint()用于在屏幕上绘图或输出文本内容,用于在屏幕上绘图或输出文本内容,repaint()方法在清除背景方法在清除背景后重新绘图或输出文本(即更新)。后重新绘图或输出文本(即更新)。单元单元8 图形用户界面设计图形用户界面设计68.2 AWT组件类组件类8.2.1 LayoutManager类类Java语言中,提供了语言中,提供了LayoutManager这个布局管理器类来统一设置组这个布局管理器类来统一设置组件在容器中的排列位置。就像组织考试至少要先对座位有一个布局和规划件在容器中的排列位置。就像组织考试至少要先对座位有一
7、个布局和规划一样,可以是分一样,可以是分5排,每排排,每排6人,也可以分人,也可以分6排,每排排,每排5人。人。这这5种布局管理器类分别是:种布局管理器类分别是:FlowLayout(顺序)、(顺序)、BorderLayout(边界)、(边界)、GridLayout(网(网格)、格)、CardLayout(卡片)和(卡片)和GridBagLayout(网格包)。(网格包)。单元单元8 图形用户界面设计图形用户界面设计71.FlowLayout类类顺序布局管理器类或流式布局管理器类,其排列方式就像在顺序布局管理器类或流式布局管理器类,其排列方式就像在word等文本处等文本处理器中处理一段文字一样
8、,将组件从左到右逐个放置,并自动换行。理器中处理一段文字一样,将组件从左到右逐个放置,并自动换行。FlowLayout有如下几个重载的构造方法:有如下几个重载的构造方法:(1)public FlowLayout()。(2)public FlowLayout(int a)。设置对齐方式的整型常量设置对齐方式的整型常量a有有5个:个:CENTER:各行组件都居中对齐。:各行组件都居中对齐。LEADING:各行组件与容器的开始边对齐。:各行组件与容器的开始边对齐。LEFT:各行组件都左对齐。:各行组件都左对齐。RIGHT:各行组件都右对齐。:各行组件都右对齐。TRAILING:各行组件都与容器的结束
9、边对齐。:各行组件都与容器的结束边对齐。单元单元8 图形用户界面设计图形用户界面设计8(3)public FlowLayout(int a,int h,int v)。FlowLayout的常用方法还有:的常用方法还有:(1)void setAlignment(int a)。该方法用来设置某个布局的对齐。该方法用来设置某个布局的对齐方式,用来改变某个布局已有的对齐方式。方式,用来改变某个布局已有的对齐方式。(2)void layoutContainer(Container t)。该方法以。该方法以FlowLayout的默认对齐方式重新布局。的默认对齐方式重新布局。单元单元8 图形用户界面设计图形
10、用户界面设计92.BorderLayout类类称边界布局管理器类,意思是将容器分为东、南、西、北、中称边界布局管理器类,意思是将容器分为东、南、西、北、中5个方位。个方位。东:东:East;南:;南:South;西:;西:West;北:;北:North;中:;中:Center。此外,还可使用此外,还可使用5个静态常量(大写)表示方位个静态常量(大写)表示方位:NORTH、SOUTH、WEST、EAST、CENTER(缺省值)。缺省值)。3.GridLayout类类网格布局管理器类,可以严格设定行数和列数。其组件按行和列排列。网格布局管理器类,可以严格设定行数和列数。其组件按行和列排列。的构造方
11、法:的构造方法:(1)GridLayout()。()。(2)GridLayout(int a,int b)。)。(3)GridLayout(int a,int b,int h,int v)。)。单元单元8 图形用户界面设计图形用户界面设计10【案例案例8-4】网格布局方式。网格布局方式。import java.awt.*;public class F4 public static void main(String args) Frame f=new Frame(网格布局管理器网格布局管理器);f.setLayout(new GridLayout(2,2);f.add(new Button(第一
12、个按钮第一个按钮);f.add(new Button(第二个按钮第二个按钮);f.add(new Button(第三个按钮第三个按钮);f.add(new Button(第四个按钮第四个按钮);f.setSize(300,300);f.setVisible(true);运行结果如图8-6所示。 单元单元8 图形用户界面设计图形用户界面设计114.CardLayout类类卡片布局管理器类,用来生成一个卡片组,其中包含若干张具有重叠效卡片布局管理器类,用来生成一个卡片组,其中包含若干张具有重叠效果的卡片。果的卡片。CardLayout类提供了类提供了show()方法来显示卡片内容。方法来显示卡片内
13、容。单元单元8 图形用户界面设计图形用户界面设计12【案例案例8-5】卡片布局方式。卡片布局方式。设计卡片组,将设计卡片组,将【案例案例8-4】中按钮分别放在四个卡片中显示,共中按钮分别放在四个卡片中显示,共4张卡片。张卡片。代码如下:代码如下:import java.awt.*;public class F5 public static void main(String args) Frame f=new Frame(网格布局管理器网格布局管理器); f.setSize(300,300);f.setVisible(true); CardLayout c=new CardLayout(); f
14、.setLayout(c); f.add(0,new Button(0);/1表示卡片位置表示卡片位置 f.add(1,new Button(1); f.add(2,new Button(2); f.add(3,new Button(3); c.show(f,0); /显示第显示第1张卡片张卡片 c.show(f,1);/显示第显示第2张卡片张卡片 c.show(f,2); c.show(f,3); 运行结果如图运行结果如图8-7所示。所示。前面三张卡片是存在的,它前面三张卡片是存在的,它们依次显示,只是被极快地们依次显示,只是被极快地覆盖了。覆盖了。单元单元8 图形用户界面设计图形用户界面设
15、计139.2.2 Container类类要设计要设计GUI程序,必须要有容器,否则界面是无法显示出来的。容器其实程序,必须要有容器,否则界面是无法显示出来的。容器其实也是一种组件,是一种比较特殊的组件,具有组件的所有性质,同时又具也是一种组件,是一种比较特殊的组件,具有组件的所有性质,同时又具有容纳其它组件和容器的功能,可用来容纳和排列其他组件。容器类对应有容纳其它组件和容器的功能,可用来容纳和排列其他组件。容器类对应的的AWT组件类是组件类是Container,它是一个抽象类,是所有容器的父类。根,它是一个抽象类,是所有容器的父类。根据图据图9-2所示的所示的AWT组件类的继承关系,发现组件
16、类的继承关系,发现Container类常用的直接类常用的直接子类是子类是Window、Panel。而。而Window类的直接子类是类的直接子类是Frame和和Dialog。Applet是是Panel的直接子类。的直接子类。Panel和和Dialog没有独立性,没有独立性,它们的对象须依靠它们的对象须依靠Window或或Applet而存在。而存在。此外,此外,ScrollPanel类也是一个容器类,其对象也是没有独立性的,并类也是一个容器类,其对象也是没有独立性的,并且不能设置布局,不能进行布局管理。且不能设置布局,不能进行布局管理。单元单元8 图形用户界面设计图形用户界面设计142.Panel
17、类类 Panel类的构造方法有:类的构造方法有:(1)Panel()。建立一个默认布局管理为。建立一个默认布局管理为FlowLayout的面板对象。的面板对象。(2)Panel(LayoutManager l)。建立一个指定布局。建立一个指定布局l的面板对象。的面板对象。面板没有标题,因为它本来就不是独立的窗口。面板没有标题,因为它本来就不是独立的窗口。3.Dialog类类Dialog类是对话框类。对话框是一种特殊的依附某个窗口的、不能改变大类是对话框类。对话框是一种特殊的依附某个窗口的、不能改变大小、只能移动或关闭的窗口。它随着依存窗口的关闭而关闭。小、只能移动或关闭的窗口。它随着依存窗口的
18、关闭而关闭。Dialog类的构造方法如下:类的构造方法如下:public Dialog(Frame f,String s,Boolean b)。用来创建一个标题。用来创建一个标题由指定由指定s的对话框。的对话框。其中其中f是自定义对话框的所有者是自定义对话框的所有者,即对话框所依附的容器。即对话框所依附的容器。b取值为取值为false时,时,则对话框可以从其所依附的容器中随便移动;取值为则对话框可以从其所依附的容器中随便移动;取值为true时时, 则对话框与则对话框与它所依附的容器结合在一起,不可以从其所依附的容器中随便移动。对话它所依附的容器结合在一起,不可以从其所依附的容器中随便移动。对话
19、框需要用框需要用show()方法或方法或setVisible()方法显示方法显示,用用setSize()方法设置方法设置大小,用大小,用hide()方法隐藏。方法隐藏。单元单元8 图形用户界面设计图形用户界面设计159.2.3 非容器基本组件类非容器基本组件类1.Label类类Label类是标签类,用于显示一些提示性、说明性的单行文字。类是标签类,用于显示一些提示性、说明性的单行文字。构造方法:构造方法:(1)Label()。用来新建一个显示文字为空的标签对象。用来新建一个显示文字为空的标签对象。(2)Label(String s)。用来新建一个包含给定文本。用来新建一个包含给定文本s的标签对
20、象。的标签对象。(3)Label(String s,int a)。用来新建一个包含给定文本。用来新建一个包含给定文本s和给定对齐和给定对齐方式方式a的标签对象。的标签对象。此外,此外,Label类提供了其他的常用方法:类提供了其他的常用方法:(1)pubic int getAlignment()。用来返回标签上当前的对齐方式。用来返回标签上当前的对齐方式。(2)public String getText()。用来返回标签上当前的文字。用来返回标签上当前的文字。(3)public void setAlignment (int a)。用来设置标签上文字的对。用来设置标签上文字的对齐方式。齐方式。(
21、4)public void setText(String s)。用来设置标签上的文字。用来设置标签上的文字。单元单元8 图形用户界面设计图形用户界面设计162.Button类类Button类是按钮类,是一种最常用的组件,我们在前面的例子已经介绍过。类是按钮类,是一种最常用的组件,我们在前面的例子已经介绍过。下面我们主要介绍一下它的构造方法。下面我们主要介绍一下它的构造方法。Button类的构造方法如下:类的构造方法如下:(1)public Button()。用来建立一个无标签的按钮对象。用来建立一个无标签的按钮对象。(2)public Button(String s)。用来建立一个带标签。用来
22、建立一个带标签s的按钮对象。的按钮对象。例:例:b1.setLabel(交互按钮交互按钮1) 将按钮将按钮b1的标签设为的标签设为“交互按钮交互按钮1”。Button类的其他常用方法:类的其他常用方法:(1)public String getLabel()。用来返回按钮上的标签文字。用来返回按钮上的标签文字。(2)public void setLabel(String s)。将按钮上的文字设置为。将按钮上的文字设置为s。单元单元8 图形用户界面设计图形用户界面设计173.TextField类类TextField类是文本域类,常称单行文本框。类是文本域类,常称单行文本框。的构造方法:的构造方法:
23、(1)public TextField()。构造一个不带默认文字的空文本框对象。构造一个不带默认文字的空文本框对象。(2)public TextField(String s)。构造带有默认文字构造带有默认文字s的文本框对象。的文本框对象。(3)public TextField(int c)。构造一个指定列数。构造一个指定列数c的文本框对象。的文本框对象。(4)public TextField(String s,int c)。用来构造一个指定列数。用来构造一个指定列数c、带、带有默认文字有默认文字s的文本框对象。的文本框对象。常用方法:常用方法: (1)public void setEchoCh
24、ar(char c)。用来设置用户从键盘输入字。用来设置用户从键盘输入字符的回显字符符的回显字符,例如用户输入密码时显示例如用户输入密码时显示“*”。(2)public void setText(String s)。将文本框文本内容设置为。将文本框文本内容设置为s。单元单元8 图形用户界面设计图形用户界面设计184.TextArea类类是文本区域类,也称文本区或多行文本框。是文本区域类,也称文本区或多行文本框。构造方法:构造方法:(1)TextArea()。用来创建一个默认大小的文本区对象。用来创建一个默认大小的文本区对象。(2)TextArea(int r,int c)。创建一个指定行数。创
25、建一个指定行数r和列和列c的文本区对象。的文本区对象。(3)TextArea(String s)。创建一个默认文本内容为。创建一个默认文本内容为s的文本区对象。的文本区对象。(4)TextArea(String s,int r,int c)。用来创建一个指定行数。用来创建一个指定行数r和列数和列数c且设定默认文本内容且设定默认文本内容s的文本区对象。的文本区对象。(5)TextArea(String s,int r,int c,int b)。用来创建指定行数。用来创建指定行数r、列、列数数c、包含文本内容、包含文本内容s并带有滚动条的文本区对象。并带有滚动条的文本区对象。单元单元8 图形用户界
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单元8 图形用户界面设计ppt课件 单元 图形 用户界面 设计 ppt 课件
限制150内