第13章 Java Applet

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

13.1第一个 Applet 第一个 例13.1 applet应用程序的演示 应用程序的演示 本例演示小应用程序的编写与运行: 1. Applet小应用程序,文件名为HelloApplet.java:
import java.awt.*; import java.applet.Applet; //引入Applet类 public class HelloApplet extends Applet { String hw_text ; public void init () { //init()方法是Applet首先执行的方法 hw_text = “Hello World”; } public void paint(Graphics g) { g.drawString (hw_text , 25, 25) ; //在(25,25)处显示字符串 } }
Applet的下载与运行过程 的下载与运行过程
HTML文件
WWW服务器
下载HTML 文件 请求 HTML 文件
HTML文件 文件
<Html> ….. <Applet code = myapplet.clss …………> ……. <Html>
WWW服务器
请求
Applet 字节码 文件
下 载字 节码
<APPLET CODE=“showdate.class” width=600 height=80> CODEBASE=“\myjava\class” </APPLET>
C:\ C:\
myjava myjava javacode javacode class class
public
Index.html Index.html
13.2.4 Applet的pain()方法 的 ()方法 () paint()方法 paint()方法
Java允许在组件上绘制图形,为此java在ponent类中定义了 paint()和repaint() paint() repaint()方法,用于显示和刷新图形; repaint() paint方法的参数是Graphics Graphics类的对象 g,它在java.awt.Graphics内 Graphics paint( g) public void paint(Graphics g){……} paint()是由系统或浏览器自动调用 自动调用的, 而不是由程序员调用,当程序希 自动调用 望调用paint方法时,在组件上绘制图形 Applet本身是一个容器,因此任何输出都必须用图形方法paint() 当小应用首次被装载,以及每次窗口放大、缩小、刷新时都要调用paint 方法 如果在程序中需要调用paint()方法时,可以使用repaintt()方法来实现
showdate showdate
ALIGN,HSPACE,VSPACE
其它文字 hspace Java applet vspace 其它文字
<APPLET CODE=“showdate.class” width=600 height=80> vspace=100 hspace=100 </APPLET>
3. 运行小应用程序 appletviewer ex_applet.html 也可以由IE直接运行 直接运行ex_applet.html 也可以由 直接运行
13.2 Applet类 类
13.2.1 Applet类的创建 类的创建 Applet类是个特殊的图形类,在java.applet包中,其层次 关系如图: Applet类是Panel类的一个子类,它具备 面板的特性,使用FlowLayout布局; 与Panel不一样的是它是一个可运行的类, Panel 下面的语句创建一个小应用程序:
创建小应用程序要注意的问题 每一个小应用程序都继承自java.applet.Applet类,而且必 须是public类,与文件名同名; Applet可直接嵌入到html中运行,不需要main()方法; Applet类是Panel类的子类,可在其上面布置其他组件, 用来完成与用户的交互
13.2.2 Applet的运行与生命周期 的运行与生命周期 一.小应用程序的运行过程
停止态
关闭浏览器,调用stop()、 destroy()方法
消亡态
13.2.3 Applet安全基础 安全基础 Applet被设计为从远程站点下载然后在本地执行,所以安 全问题非常重要; 如果用户在游览器中启用了Java,那么浏览器就会自动下 载网页中的Applet代码并执行; 用户没有机会来确认或者停止Applet的运行。基于这样的 原因,与Application应用程序相比, Applet被作了限制; Applet的限制执行环境常常称作sandbox。运行在沙箱中 的Applet不能更改或探查用户的系统; 更改或探查用户的系统; 更改或探查用户的系统
import java.applet.*; public class MyApplet extends Applet { …… }
13.2.1 Applet类的创建 类的创建
创建一个小应用程序:
import java.applet.*; public class MyApplet extends Applet { … …}
1. Applet小应用程序,文件名为HelloApplet.java:
看下面的例子,想一想生命周期的四个方法哪去了 看下面的例子 想一想生命周期的四个方法哪去了? import java.awt.*;想一想生命周期的四个方法哪去了 import java.util.Date; public class showDate extends java.applet.Applet { Date timeNow=new Date(); Font msgFont=new Font(“TimesRoman”,Font.ITALIC,30); public void paint(Graphics g) { g.setFont(msgFont); g.setColor(Color.blue); g.darwString(timeNow.toString(),5,50); }
WWW浏览器 浏览器 (Browser) )
解释执行字节码
13.2.2 Applet的生命周期 的生命周期 二.程序运行开始到结束的过程称为生命周期 生命周期 独立程序的生命周期是从main()方法开始,直到运行结束 独立程序 小应用程序的生命周期与浏览器息息相关,作为IE的一部分, 小应用程序 小应用程何时运行何时结束由IE控制; Applet对象是IE运行中的一个线程 1. 2. 3. 4. 当打开浏览器时,创建并初始化其中的Applet对象 当显示Applet时,启动Applet线程运行 当不显示Applet时,停止Applet线程运行; 当关闭浏览器时,消亡Applet对象
第13章 Java Applet 13章
前面的章节我们阐述了Application的应用,这一讲我们将 的应用, 前面的章节我们阐述了 的应用 介绍java的另一类应用 的另一类应用java Applet,即java小应用程序; 小应用程序; 介绍 的另一类应用 , 小应用程序
由于小应用程序是用一种功能强大的程序设计语言编制的, 由于小应用程序是用一种功能强大的程序设计语言编制的, 和脚本语言的任何一种可能的组合相比, 与HTML、XML和脚本语言的任何一种可能的组合相比,它仍 、 和脚本语言的任何一种可能的组合相比 然具有其自身的优势
13.2.4 repain()方法 ()方法 ()
刷新图形repaint()方法 刷新图形repaint()方法 repaint()
repaint() punlic void repaint() repaint( x, punlic void repaint(int x ,int x,int width , height) int height) 用于刷新图形,参aint()方法时,系统将自动调用paint方法时, 重新在组件上绘制图形;
2. 在起始页中加入 在起始页中加入applet : html中有关的代码 中有关的代码 <APPLET CODE=“showdate.class” width=600 height=80> </APPLET> CODEBASE的作用 的作用 当class文件与起始页文件不在同一个目录下时,使用 CODEBASE说明: <APPLET CODE=“showdate.class” width=600 height=80> CODEBASE=“\myjava\class” </APPLET>
public void paint(Graphics g)
13.2.2 Applet的生命周期 的生命周期 初始态( 初始态(瞬态)
第一次装入,调用init() 方法,创建applet对象 调用start( )方法
运行态
离开Web页面:极小 化或装入其他页面, 调用stop()方法, applet不显示 重新装入或改变页面 大小或返回Web页面, 调用start()方法,重新 显示applet
13.2.2 Applet的生命周期 的生命周期 类中定义了4个控制 三.Applet类中定义了 个控制小应用程序的执行的方法 类中定义了 个控制小应用程序的执行的方法 Java.applet.Applet public void init() public void start() public void destroy() public void stop()
所以需要刷新图形时,程序中已一般不需要重新写repaint()方法
13.2.5 applet应用举例 应用举例
例13.3 applet应用程序的执行
介绍两个类: 介绍两个类 1. 类名 类名:Date 创建一个实例 Date timeNow=new Date(); 获得系统当前日期 2. 类名 类名Font 创建一个实例 Font msgFont=new Font(“TimesRoman”, Font.ITALIC,20); 指定20时号,斜体的TimesRoman字
13.1
Java Applet的特点 的特点
Java小应用程序(Java Applet)是使用Java语言编写的一段代 码,它能够在浏览器环境中运行; Applet与Application地主要区别 主要区别在于它们的执行方式不同: 主要区别 Application是使用命令行命令直接运行,从其main()方法 开始运行的; Applet则是在浏览器中运行的; 首先必须创建一个HTML文件,通过编写HTML语言 代码告诉浏览器载入何种Applet以及如何运行; 再在浏览器中给出该HTML文件的URL地址; Applet本身的执行过程较Application复杂;
13.1第一个 Applet 第一个
字节码文件, 2. Applet程序编写完后,首先用java编译器编译成为字节码文件 字节码文件 然后编写相应的HTML文件才能够正常执行; 为运行上面的Applet程序所编写的HTML文件ex_applet.html:
<HTML> <APPLET CODE="HelloApplet.class" WIDTH=200 HEIGHT=100> </APPLET> </HTML>
paint方法的参数是graphics类的对象g它在javaawtgraphics内publicvoidpaintgraphicspaint是由系统或浏览器自动调用的而不是由程序员调用当程序希望调用paint方法时在组件上绘制图形当小应用首次被装载以及每次窗口放大缩小刷新时都要调用paint方法如果在程序中需要调用paint方法时可以使用repaintt方法来实现1324applet的pain方法punlicvoidrepaintpunlicvoidrepaintintintxintwidthintheight程序调用repaint方法时系统将自动调用paint方法时重新在组件上绘制图形
13.2.3 Applet安全基础 安全基础 中时: 当Applet运行在 Applet运行在sandbox中时: 运行在 中时 1. Applet不能读写本地计算机的文件系统,也不能运行任何 本地可执行程序; 2. 除了与下载处它的服务器(该服务器称作原始主机), Applet不能同的其他任何主机通信。这条规则使得Applet 不能探查企业内部网上的资源; 3. Applet只能获取本地计算机中的以下信息 当前使用的Java版本;操作系统的名字和版本;用来 分离文件、路径以及行的字符; 除上述外,Applet不能获取任何其它关于本地计算机 的信息; 4. Applet弹出的所有窗口都会带有一警告消息,告诉用户这 是一个Applet
相关文档
最新文档