scjp培训资料第12章Java小程序介绍.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第12章java小程序介绍 本模块讨论了JDK对Applet的支持,以及Applet在编程方式、操作上下文和如何开始等方面与应用程序的区别。 第一节 相关问题 讨论 - 以下为与本模块内容有关的问题: Applet有那些优点? 第二节 目 标 在完成了本模块的学习后,你应当能够: 区分独立应用程序和Applet 编写一个HTML标记来调用Java Applet 描述Applet和AWT的类层次 创建HelloWorld.Java Applet 列出Applet的主要方法 描述和使用AWT的绘图模型 使用Applet方法从URL读取图像和文件 使用param标记配置Applet 第三节 什么是Applet? Applet是能够嵌入到一个HTML页面中,且可通过Web浏览器下载和执行的一种Java类。它是Java技术容器(container)的一种特定类型,其执行方式不同于应用程序。一个应用程序是从它的main()方法被调用开始的,而一个Applet的生命周期在一定程度上则要复杂得多。本模块分析了Applet如何运行,如何被装载到浏览器中,以及它是如何编写的。 12.3.1 装入Applet 由于Applet在Web浏览器环境中运行,所以它并不直接由键入的一个命令启动。你必须要创建一个HTML文件来告诉浏览器需装载什么以及如何运行它。 浏览器装入URL 浏览器装入HTML文档 浏览器装入Applet类 浏览器运行Applet 12.3.2 Applet的安全限制 由于通过网络装载,Applet的代码具有一种内在的危险性。如果有人编写了一个恶意的类来读取你的密码文件,并把它通过Internet传送,会产生怎样的后果呢? 所能够控制的安全程度是在浏览器层次上实现的。大多数浏览器(包括Netscape Nevigator)缺省地禁止以下操作: 运行时执行另一程序 任何文件的输入/输出 调用任何本地方法 尝试打开除提供Applet的主机之外的任何系统的Socket 这些限制的关键在于,通过限制Applet对系统文件的存取来阻止它侵犯一个远程系统的隐私或破坏该系统。禁止执行另一程序和不允许调用本地方法限制了Applet启动未经JVM检查的代码。对Socket的限制则禁止了与另一个可能有危害性的程序的通信。 JDK1.2提供了一种方式,它指定了一个特殊的“保护域”或一个特殊Applet运行的安全性环境。远程系统检查原始的URL以及它下载的Applet的签名,和一个含有从特殊的Applet到特殊保护域的映射入口的本地文件进行比较。因此,来自特别位置的特殊Applet具有一些运行特权。 编写一个Applet 要编写一个Applet,必须首先用以下方式创建一个类: import java.applet.*; public class HelloWorld extends Applet { Applet的类必须为public,且它的名称必须与它所在的文件名匹配;在这里,就是HelloWorld.java。而且,该类必须为java.applet.Applet的子类。 Applet类的层次 Java.applet.Applet类实际上是java.awt.Panel的子类。Applet和AWT类的层次如下: 这种层次关系显示,一个Applet可直接用作一个AWT布局的起始点。因为Applet为一Panel,所以它有一个缺省的流(flow)布局管理器。Component,Container和Panel类的方法被Applet类继承了下来。 12.4.1 主要的Applet方法 在一个应用程序中,程序由main()方法处进入,而在一个Applet中却不是这样。在构造函数完成了它的任务后,浏览器调用init()对Applet进行基本的初始化操作。init()结束后,浏览器调用另一个称为start()的方法。本模块稍后将对start()做更细致的剖析;start()通常在Applet成为可见时被调用。 方法init()和start()都是在Applet成为“活动的”之前运行完成的,正因为这样,它们都不能用来编写Applet中继续下去的动作。实际上,与一个简单应用程序中的方法main()不同的是,没有什么方法的执行是贯穿于Applet的整个生命过程中的。你在后面将看到如何使用线程来实现这一特色。此外,你在编写Applet子类时可用的方法还有:stop(),destroy()和paint()。 12.4.2 Applet显示 Applet本质上是图形方式的,所以尽管你可以提出System.out.println()的调用请求,通常也不能这样做,而是应该在图形环境中创建你的显示。 你可以通过创建一个paint()方法在Applet的panel上绘

文档评论(0)

yan666888 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档