![]() ![]() |
|
等级考试二级JAVA考点分析之APPLET程序设计 | |
作者:佚名 文章来源:不详 点击数 更新时间:2008/4/18 14:43:06 文章录入:杜斌 责任编辑:杜斌 | |
|
|
考点:1 Applet的概念 (1)Applet是指嵌入HTML文件中,能够运行于浏览器的Java类。 (2) Applet不能独自运行,执行方式是在浏览器或者Appletviewer中运行。 (3) Applet的运行环境是浏览器,需要编写HTML文件,并嵌入Applet类,浏览器才会加载与运行Applet。 (4)Applet的执行过程包括:首先在浏览器中加载URL所指定的HTML文件,然后在浏览器中解析HTML文件,再加载HTML文件中嵌入的Applet类,最后在浏览器的Java运行环境中运行加载的Applet类。 考点:2 Applet的生命周期 (1)Applet生命周期是指从浏览器下载Applet一直到用户终止Applet运行的过程。 (2)Applet生命周期包括创建、运行和消亡。 (3)加载Applet到本地系统时,会产生一个Applet类的实例,然后对Applet进行初始化,最后启动Applet进入运行状态。 (4)离开Applet所在的Web页或者退出浏览器时,Applet停止运行。 (5)当又返回Applet所在的Web页时,Applet重新加载。 (6)刷新Applet所在的Web页时,浏览器首先卸载该Applet,然后再重新加载。 考点:3 Applet的类层次结构 (1)java.applet.Applet是java.awt.panel的直接子类,而javax.swing.JApplet是java.applet.Applet的直接子类。 (2) java.applet.Applet类定义了Applet与其运行环境之间的标准接口,任何Applet必须是它的子类。 (3)Applet中可以加入AWT构件,JApplet中可以加入Swing构件。 考点:4 Applet类的API以及关键方法 (1)生命周期方法包括:init(),start()、stop()和destroy()。 (2)HTML标记方法包括:getDocumentBase()、getCodeBase()和getParameter(String name)。 (3)多媒体支持方法包括:getImage(URL url)、getAudioClip(URL url)和play(URL url)。 (4)管理Applet环境的方法包括:getAppletContext()、getApplet(String name)和showDocument(URL url)。 (5)Applet信息报告方法包括:showStatus(String status)、getAppletInfo()和getParameterInfo()。 (6)关键方法是指Applet生命周期方法以及Applet显示方法,包括:init(), start()、stop()、destroy()和paint(Graphics g)。 考点:5 Applet的显示 (1)作为Component类的子类,Applet具有一般AWT构件的图形绘制功能,通过调用paint(),update()和repaint()方法可以实现。 (2) Applet中,一个专门的AWT线程控制显示和更新,需要更新的情况包括:在Applet初次显示和运行中浏览器窗口变化时调用paint()方法;在Applet代码需要更新显示内容时在程序中调用repaint()方法,然后调用Applet的update()方法,最后调用构件的paint()方法。 (3)paint()方法用于执行Applet的绘制,update()方法用于更新Applet的显示,repaint()方法用于Applet的重新显示。 (4) java.awt包提供了Graphics类,用于在Applet中绘制图形,包括绘制图形和绘制文本。 10.2编写Applet程序 考点:6 Applet的编写步骤 首先引入需要的类和包,然后定义一个Applet类的子类,再实现Applet类的一些方法,最后将Applet嵌入HTML页面中运行。 考点:7 编写Applet时的注意事项 (l)一个Applet可以定义多个类,一个必须继承java.applet.Applet类,同时可以有多个其他自定义的类。 (2)编写基于Swing的Applet程序时,必须继承javax.swing.JApplet类 (3)在HTML文件中嵌入Applet,通过在HTML文件中加入<APPLET>标记来嵌入Applet和JApplet>。 (4)<APPLET>标记包含4个部分:Applet属性、参数、在非Java浏览器中的显示内容和</APPLET>。 (5)<APPLET>属性包括:CODEBASE、CODE、ALT、NAME、WIDTH、ALIGN、VSPACE、HSPACE和ARCHIVE。 (6)Applet参数以<PARAM>作为标记,设置参数需要考虑:Applet希望用户配置什么、参数如何命名、各参数的取值、如何设定各参数的默认值以及如何在Applet中定义关于参数的信息。 (7)在不兼容Java的浏览器中显示替换性文本。 10.3 Applet的图形化用户界面 考点:8 基于AWT构件的Applet用户界面 (1)在Applet中可以直接使用AWT构件,主要包括按钮、检查框、单行文本区、多行文本显示区、标签、列表、弹出式列表选择、滚动条、画布、菜单和容器等在Applet中可以使用的容器方法包括add()remove()和setLayout()等。 (2)在Applet中可以使用弹出式窗口来突玻Applet在Web页面中显示区域大小的限制。 考点:9 基于Swing的Applet用户界面 若Applet中包含Swing构件,则必须继承JApplet类。 1.JApplet的特点 (1)JApplet是顶层Swing容器,包含一个根面板,根面板中包含一个内容面板,内容面板中可以加入除了菜单条之外的所有Swing构件。 (2)向JApplet中添加构件,不能直接添加,而是添加到内容面板 (3)对JApplet进行布局管理是针对内容面板,而不是JApplet。 (4)JApplet的默认布局管理器是BorderLayout,而Applet的默认布局管理器是FlowLayout。
(5)在使用JApplet的绘图功能时,不能直接修改paint()方法,而是调用paintComponent()方法。 2.JApplet内容面板的使用 (l)调用getContentPane()方法获得内容面板,然后再向面板中添加构件。 (2)创建一个中间容器,将构件加入该中间容器,再调用setContentPane()方法将该容器设为JApplet的内容面板。 3.JApplet中自定义构件的绘制 (l)在按钮或标签中加入icon,通过文本类的构件显示不同风格的文本,通过边框操作的类和方法设置构件的边框。 (2)创建自定义的Swing构件,需要确定该构件继承自哪一种构件类。 (3)通过在paintComonent()方法中加入绘图代码来实现自定义的绘图。 (4)通常需要在自定义的构件周围使用边框。 (5)paintComonenet()方法在程序执行、窗口恢复时会被自动调用,因此不能在程序中调用,否则会冲突。 (6)重绘Applet应该使用repaint()方法。 (7)若要在Panel类的子类中重写paintComponent()方法,则必须在绘制之前调用super.paintComponent()方法。 考点:10 Applet的事件处理机制 Applet和JApplet都和Java Application一样使用监听器。 10.4 Applet的多媒体支持 考点:11 显示图像 (1)类java.Image的对象表示程序中的一个图像,Java支持的图像格式有GIF,JPEG和PNG。 (2)可以通过调用Applet类的getlmage()方法来加载一幅图像,得到该图像的一个Image类的对象。 (3)getlmage()方法调用后立即返回,并新生成一个线程在后台异步地进行加载图像。只有当图像要被显示不到屏幕上时,才开始进行图像的获取。 (4) Java中的追踪图像加载过程的机制包括两种方法:使用MediaTracker类和实现ImageObserver接口。 (5)Java中绘制图像使用的是Graphics类的drawImages()方法。 考点:12 动画制作 (1)在Applet中实现动画主要是创建动画循环,使用一个专门的动画显示线程,在该线程的run()方法中实现动画循环。 (2)导致动画制作中闪烁问题的一个原因是Applet在显示下一幅图像时调用了repaint()方法,清除整个背景,再重新绘制画面;另一个原因是paint()方法进行复杂计算,导致动画的效率降低。改进方法:重写update ()方法;使用双缓冲区技术。 考点:13 播放声音 (1)Java中的java.applet.Applet类和AudioClip接口为播放声音提供了支持。 (2)播放声高的Apples方法有:用于加载声音文件的getAudioClip(URL)和getAudioClip(URL String),以及用于直接播放指定URL中的声音文件的play(URL url)和play(URL url,String name)。 (3)AudioClip接口中播放声音的方法有:play()、loop()和stop()。多个AudioClip对象可以被同时播放,形成交响效果。 10.5 Applet的安全机制 考点:14 Applet安全限制 (1)Java平台使用安全管理器防止恶意程序的攻击,未被Java运行系统安全策略授权的Applet不能访问本地系统的资源。 (2)Applet不能执行本地程序,不能加载本地库或者方法,不能读写本地文件系统,不能与提供Applet之外的任何主机建立网络连接,不能读取某些敏感的系统信息,由Applet弹出的窗口含有警告提示信息。 考点:15 Java沙箱模型 沙箱模型是指Java中的安全模型,本地代码是可信代码,可以完全访问本地资源,而从远端主机下载的Applet是不可信的,只能访问有限资源。同时,如果Applet程序通过签名信任技术而成为可信任代码后,则被允许访问沙箱之外的系统资源,未签名的Applet将仍然被置于沙箱之中。 沙箱的特点Applet若通过签名认证,则可以访问全部本地资源,否则只能运行于沙箱中;可信任的Applet和Application不能受限制。 考点:16 Java 2安全策略的定义和实施 1.建立策略文件,授予Applet权限 (1)通过文本编辑器或者策略设置工具对策略文件进行编辑。建立策略文件的步骤是:启动策略工具,定义所需的权限,最后保存该策略文件。 (2)权限定义过程中,用一个策略项来授予某个URL中的由某个私钥签名的代码一种或者多种访问权限。权限定义包括的信息有权限类名称(permission className)、目标名(targetName )和事件列表(actionList),其中目标名和事件列表都是与权限类相关的。 (3)常用标准权限类的目标形式包括java.io.FilePermission、java.net.SocketPermission和java.util.PropertyPermission。 2.执行安全策略 定义好安全策略后,需要对目标运行环境进行配置,这样定义好的安全策略才会被执行。有3种方法: (l)修改系统或者用户默认的策略文件。 (2)在java.secureity文件中添加一个策略文件的定义。 (3)使用appletviewer命令行参数定制安全策略。 考点:17 Java2中的数字签名 (1)对Java代码进行数字签名的步骤:创建JAR文件,创建密钥,对JAR文件进行数字签名,输出公钥证书。 (2)数字签名的验证与访问控制步骤为:将签名密钥的公钥引入本地策略库,然后建立策略文件,再为签名代码授予相应的权限,最后配置运行环境,执行策略。
10.6 Applet与工作环境的通信 考点:18 同页面Applet之间的通信 (1)运行在同一页面中的Applet可以通过实现AppletContext接口的getApplets()方法互 相找到对方。 (2)通过调用AppletContext的getApplet(String name)方法可以返回一个名字为name的Applet对象,Applet的名字是由HTML文件中<APPLET>的< PARAM>中的<NAME>给出的。 (3)通过调用getApplets()可以获取同一页面中所有的Applet,该方法返回一个Enumeration对象。 考点:19 Applet与浏览器之间的通信 (1)init(),start()stop)和destroy)方法可以实现浏览器和 Applet之间交换Applet的状态信息。 (2)用于Applet和浏览器之间通信的方法还包括:getCodeBase()、getDocumentBase()、getParameter(String name)、getParameterInfo()、showStatus(String msg)、getAppletlnfo()、showDocument()等。 (3)在状态行中不能显示重要的信息,但是可以显示一些暂时性的信息。 (4)调用showDocument()方法,可以通知浏览器在指定的窗口中显示指定的URL中的文件。 考点:20 Applet的网络通信 通过Java2的安全机制,Applet可以和不同的主机进行通信。一般步骤是:首先调用getCodeBase()获得提供该Applet的主机名,然后调用java.net.URL类的getHost()方法获得主机名,再调用java.net.InetAdderss类的getByName()方法,获得主机的IP地址。 10.7 Java Application和Applet 考点:21 Java Application和 Applet Application和Applet是Java应用程序的两种形式,Applet可以有多种执行方式,包括使用appletviewer和在浏览器中加载,以及使用Java解释器以命令行方式执行。因此Applet可以同时具有Applet和Application的特性。 |
|
![]() ![]() |