JAVA图形用户界面的设计与实现.ppt

上传人:b****2 文档编号:2638486 上传时间:2022-11-04 格式:PPT 页数:74 大小:586.50KB
下载 相关 举报
JAVA图形用户界面的设计与实现.ppt_第1页
第1页 / 共74页
JAVA图形用户界面的设计与实现.ppt_第2页
第2页 / 共74页
JAVA图形用户界面的设计与实现.ppt_第3页
第3页 / 共74页
JAVA图形用户界面的设计与实现.ppt_第4页
第4页 / 共74页
JAVA图形用户界面的设计与实现.ppt_第5页
第5页 / 共74页
点击查看更多>>
下载资源
资源描述

JAVA图形用户界面的设计与实现.ppt

《JAVA图形用户界面的设计与实现.ppt》由会员分享,可在线阅读,更多相关《JAVA图形用户界面的设计与实现.ppt(74页珍藏版)》请在冰豆网上搜索。

JAVA图形用户界面的设计与实现.ppt

第第7章章图形用户界面的设计与实现图形用户界面的设计与实现7.1图形用户界面(图形用户界面(GUI)概述)概述界面设计的主要任务:

(1)创建组成界面的各成分和元素,指定它们的属性和位置关系;

(2)定义界面事件和各元素对不同事件的响应,实现界面与用户的交互功能;生成界面的类库:

java.awt(abstractwindowtoolkit)抽象:

操作定义在一个虚拟的窗口中进行,实现跨平台;界面的元素和成分v容器v控制组件v用户自定义成分容器

(1)1.容器(容器(container):

组织其他界面成分和元素的单元,用来存放别的组件。

2.有三种类型的容器:

Window、Panel和ScrollPane。

ContainerPanelWindowScrollPaneAppletDialogFrameFileDialog容器

(2):

Frame容器vWindow是能独立存在的容器,Frame是它的子类。

Frame是有边框容器,通常用作最外层容器,不能被其他容器包含。

vFrame方法:

1.Frame(Stringtitle);2.add():

在Frame中加入其他组件。

3.pack()方法会自动确定Frame的大小,确保Frame容器中的组件都会有与布局相适应的合理大小。

4.setVisible(true):

使Frame成为可见。

Frame被创建后,它是不可见的。

v例子:

见2007ch7srcSimpleFrame.java容器(3):

Panel容器特点:

1)没有边框,不能被移动、缩放或关闭。

2)不能作为最外层图形界面的容器,不能单独存在只能用做容器组件加入其他容器。

3)通常用于层次化界面组件管理。

P260:

例7-20TestPanel.javav例子:

ch7srcMyFrame.java组件组件:

图形用户界面的最小单元,用来完成与用户的交互;用户界面标准化的结果,例如:

标签、文本框、按钮、菜单等。

使用组件的步骤:

1)创建组件类的对象,指定其属性;2)使用某种布局策略;3)将组件对象注册给对应的事件监听器,覆盖事件处理方法,实现与用户交互的功能;组组件件用户自定义成分用户自定义成分:

如绘制几何图形、使用标志图案等。

通常只能起到装饰、美化的作用,不能响应用户的动作,不具有交互功能。

用户自定义成分用户自定义成分7.2绘制图形绘制图形利用Graphics类可以绘制文字及直线、矩形、多边形、圆和椭圆等各种图形。

对于Application程序:

创建Canvas对象,并将它加入界面容器中。

Applet类和Canvas类都有一个paint()方法,系统会自动创建一个Graphics类的实例作为其参数,实现各种图形绘制;Graphics类的常用绘图方法类的常用绘图方法例7-1DrawFigures.java(p185)drawLine(intx1,inty1,intx2,inty2):

绘制直线drawRect(intx,inty,intwidth,intheight):

绘制矩形fillRect(intx,inty,intwidth,intheight):

填充矩形设置字体设置字体Font类类显示文字:

Graphics类的drawString()方法,在屏幕的指定位置显示字符串。

Font类:

表示一种字体,包含字体类型、字型和字号。

如:

Fontfnt=newFont(“TimesRoman”,Font.BOLD,12);Font类有三种字体:

Font.PLAIN,Font.BOLD,Font.ITALIC。

使用字体:

Graphics类的setFont()方法如:

g.setFont(fnt);btn.setFont(fnt);例7-2AvailableFonts.JavaGraphicsEnviroment类:

TheGraphicsEnvironmentclassdescribesthecollectionofGraphicsDeviceobjectsandFontobjectsavailabletoaJava(tm)applicationonaparticularplatform.设置颜色设置颜色Color类类Color类对象:

控制文字或图形的颜色;构造函数:

publicColor(intRed,intGreen,intBlue);各参数取值范围:

0255publicColor(floatRed,floatGreen,floatBlue);参数取值范围:

0.01.0publicColor(intRGB);参数的07位为红色分量,815位为绿色分量,1623位为蓝色分量例:

ColorblueColor=newColor(0,0,255);/问这是什么颜色?

颜色设置:

Graphics类的setColor()方法1.使用自定义的颜色:

ColorblueColor=newColor(0,0,255);g.setColor(blueColor);2.使用Color类的颜色常量:

g.setColor(Color.black);Color类定义了13个静态颜色常量,包括:

black(0,0,0)red(255,0,0)green(0,255,0)blue(0,0,255)等。

对GUI组件,可用下列方法设置或获取组件的背景色和前景色:

publicvoidsetBackground(Colorc);publicColorgetBackground();publicvoidsetForeground(Colorc);publicColorgetForeground();例7-3UseColor.Java问题:

HTML文件中的参数是以什么形式、如何传入字节码的?

显示图像显示图像一、获取图像:

一、获取图像:

Applet类的getImage();publicImagegetImage(URLurl,Stringname)该方法将指定图像文件的内容返回到Image对象。

方法中的参数url是一个URL(统一资源定位器)地址,也就是图像所在网址。

name是图像文件名。

Java支持的图像文件格式包括bmp,gif,jpeg等。

二、绘制图像:

二、绘制图像:

drawImage(Imageimg,intx,inty,ImageObserverobserver)有4个参数:

图像的Image对象,显示图像的左上角x、y坐标,显示图像的容器对象。

如:

g.drawImage(image,10,10,this);例7-4DrawMyImage.java实现动画效果实现动画效果制作步骤:

1)构造或获取动画的各帧;2)绘制各帧;动画的各帧可以用绘图的方法绘制,也可在给定关键帧的情况下,采用插值方法生成,还可以用getImage()方法获取文件中的gif或jpg格式图像。

例7-5:

其中的paint()方法一次显示一幅图像,并调用Thread.sleep()方法使程序休眠片刻,从而前一副图像在屏幕上暂留,再显示下一幅图像,形成动画。

7.3Java的标准组件与事件处理的标准组件与事件处理v每一个可以触发事件的组件被当作事件源。

v每一个事件都对应专门的监听者,监听者用来接收和处理这种事件。

v如果一个事件源注册了对应的监听者,那么这种事件就会被监听者接收和处理。

这种模式称为“委托模型”。

Java的事件处理机制:

的事件处理机制:

委托事件模型事件源(可能产生事件的组件)注册:

btn.addActionListener(监听者对象);ActionEvent事件监听者(负责监听并处理事件的对象)实现接口:

publicvoidactionPerformed(ActionEvente);触发事件调用并传递参数注册图7-5委托事件模型事件与监听者接口要注意以下问题:

v有哪些事件源,可能发生什么事件?

v将事件源注册给哪个监听者?

v监听接口包含什么方法?

各代表对什么事件的处理?

v举例:

见P215表格vAWT的事件处理模型:

1.监听者对象是实现监听者接口的类的实例。

2.事件源在事件发生时把事件对象发送给注册的监听者。

3.监听者对象会使用事件对象中的信息来决定如何响应事件。

4.注册监听者对象是通过调用事件源的.addXXXListener()来实现的。

如下:

eventSourceObject.addEventListener(eventListenerObject);v并非每个事件类都只对应一个事件,例如:

KeyEvent类对应KEY_PRESSED,KEY_RELEASED,KEY_TYPED三个具体的事件。

vKeyEvent类的getID()可以返回不同的常量,以此来判断具体的事件类型。

v以JButton为例,关心的事件就是按钮被按为例,关心的事件就是按钮被按下,想注册该事件,就需要调用下,想注册该事件,就需要调用JButton的的addActionListener()方法,该方法带一个参数实现ActionListener接口的对象,ActionListener接口只包含一个actionPerformed()方法,所以,将实现的代码与JButton联系起来的方法就是在类里联系起来的方法就是在类里实现实现ActionListener接口接口,而且将该类的对象用JButton的addActionListener()方法方法注册。

这样actionPerformed()方法将在按钮被按下时被回调。

事件处理1.用内部类实现监听接口:

见例子ButtonCounter.java2.将容器类实现监听接口:

见例子FrameCounter.java3.定义专门的外部类实现监听接口:

见例子OuterCounter.java4.采用事件适配器:

见例子AdapterCounter.java,注意适配器是类,不是接口。

7.4GUI标准组件概述标准组件概述ComponentButton组件名CanvasTextAreaTextFieldListScrollbarLabelTextComponentCheckboxChoiceContainerDialogFrameWindowAppletPanelScrollPane容器FileDialog图7-7AWT组件层次关系图组件层次关系图Component类的类的常用方法常用方法publicvoidadd(PopupMenupopup):

在组件上加上一个弹出菜单。

publicColorgetBackground():

获得组件的背景色。

publicFontgetFont():

获得组件使用的字体。

publicColorgetForeground():

获得组件的前景色。

publicGraphicsgetGraphics():

获得绘图用的Graphics对象。

publicvoidrepaint(intx,inty,intwidth,intheight):

以指点的坐标点为左上角,重画组件中指点宽、高的区域。

publicvoidsetBackgound(Colorc):

设置组件的背景色。

publicvoidsetEnable(booleanb):

设置组件的使能状态。

publicvoidsetFont(Fontf):

设置组件的字体。

publicvoidsetSize(intwidth,intheight):

设置组件大小。

publicvoidsetVisible(booleanb):

设置组件是否可见的属性。

publicvoidsetForeground(Colorc):

设置组件的前景色。

publicvoidrequestFocus():

使组件获得注意的焦点。

标签、按钮和动作事件标签、按钮和动作事件1.标签(标签(Label)标签类Label的对象用来显示文本信息

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

当前位置:首页 > 职业教育 > 其它

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

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