欢迎来到天天文库
浏览记录
ID:46940098
大小:130.50 KB
页数:14页
时间:2019-11-30
《Chapter17(My--Java备课教案)》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、第一节什么是AppletApplet是能够嵌入到一个HTML页面中,且可通过Web浏览器下载和执行的一种Java类。它是Java技术容器(container)的一种特定类型,其执行方式不同于应用程序。一个应用程序是从它的main()方法被调用开始的,而一个Applet的生命周期在一定程度上则要复杂得多。本模块分析了Applet如何运行,如何被装载到浏览器中,以及它是如何编写的。l能嵌入到一个HTML页面中且可通过Web浏览器下载和执行的一种Java类l可以以下方式装载:l浏览器装载URLl浏览器装载HTML文档l浏览器装载Applet类l浏览器运行Applet1、装入
2、Applet由于Applet在Web浏览器环境中运行,所以它并不直接由键入的一个命令启动。你必须要创建一个HTML文件来告诉浏览器需装载什么以及如何运行它。1.浏览器装入URL2.浏览器装入HTML文档3.浏览器装入Applet类4.浏览器运行Applet2、Applet的安全限制由于通过网络装载,Applet的代码具有一种内在的危险性。如果有人编写了一个恶意的类来读取你的密码文件,并把它通过Internet传送,会产生怎样的后果呢?所能够控制的安全程度是在浏览器层次上实现的。大多数浏览器(包括NetscapeNevigator)缺省地禁止以下操作:l运行时执行另一程
3、序l任何文件的输入/输出l调用任何本地方法l尝试打开除提供Applet的主机之外的任何系统的Socket这些限制的关键在于,通过限制Applet对系统文件的存取来阻止它侵犯一个远程系统的隐私或破坏该系统。禁止执行另一程序和不允许调用本地方法限制了Applet启动未经JVM检查的代码。对Socket的限制则禁止了与另一个可能有危害性的程序的通信。JDK1.2提供了一种方式,它指定了一个特殊的“保护域”或一个特殊Applet运行的安全性环境。远程系统检查原始的URL以及它下载的Applet的签名,和一个含有从特殊的Applet到特殊保护域的映射入口的本地文件进行比较。因此
4、,来自特别位置的特殊Applet具有一些运行特权。第二节编写一个Applet要编写一个Applet,必须首先用以下方式创建一个类:importjava.applet.*;publicclassHelloWorldextendsApplet{Applet的类必须为public,且它的名称必须与它所在的文件名匹配;在这里,就是HelloWorld.java。而且,该类必须为java.applet.Applet的子类。Applet类的层次Java.applet.Applet类实际上是java.awt.Panel的子类。Applet和AWT类的层次如下:这种层次关系显示,一个
5、Applet可直接用作一个AWT布局的起始点。因为Applet为一Panel,所以它有一个缺省的流(flow)布局管理器。Component,Container和Panel类的方法被Applet类继承了下来。1、主要的Applet方法linit()lstart()lstop()ldestroy()lpaint()在一个应用程序中,程序由main()方法处进入,而在一个Applet中却不是这样。在构造函数完成了它的任务后,浏览器调用init()对Applet进行基本的初始化操作。init()结束后,浏览器调用另一个方法start()。start()通常在Applet成为
6、可见时被调用。方法init()和start()都是在Applet成为“活动的”之前运行完成的,正因为这样,它们都不能用来编写Applet中继续下去的动作。实际上,与一个简单应用程序中的方法main()不同的是,没有什么方法的执行是贯穿于Applet的整个生命过程中的。你在后面将看到如何使用线程来实现这一特色。此外,你在编写Applet子类时可用的方法还有:stop(),destroy()和paint()。2、Applet显示Applet本质上是图形方式的,所以尽管你可以提出System.out.println()的调用请求,通常也不能这样做,而是应该在图形环境中创建你
7、的显示。你可以通过创建一个paint()方法在Applet的panel上绘图。只要Applet的显示需要刷新,paint()方法就会被浏览器环境调用。例如,当浏览器窗口被最小化或被要求以图标方式显示时,这种调用就会发生。你应该编写自己的paint()方法,以使它在任何时候被调用时都能正常地工作。对它的调用是异步产生的,且由环境而不是程序来驱动。3、paint()方法和图形对象paint()方法带有一个参数,它是java.awt.Graphics类的一个实例。这个参数总是建立该Applet的panel的图形上下文。你能用这个上下文在你的Applet中绘
此文档下载收益归作者所有