Java程序设计 教学课件 ppt 作者 马世霞 5applet程序设计

上传人:E**** 文档编号:89156185 上传时间:2019-05-19 格式:PPT 页数:26 大小:433.51KB
返回 下载 相关 举报
Java程序设计 教学课件 ppt 作者 马世霞 5applet程序设计_第1页
第1页 / 共26页
Java程序设计 教学课件 ppt 作者 马世霞 5applet程序设计_第2页
第2页 / 共26页
Java程序设计 教学课件 ppt 作者 马世霞 5applet程序设计_第3页
第3页 / 共26页
Java程序设计 教学课件 ppt 作者 马世霞 5applet程序设计_第4页
第4页 / 共26页
Java程序设计 教学课件 ppt 作者 马世霞 5applet程序设计_第5页
第5页 / 共26页
点击查看更多>>
资源描述

《Java程序设计 教学课件 ppt 作者 马世霞 5applet程序设计》由会员分享,可在线阅读,更多相关《Java程序设计 教学课件 ppt 作者 马世霞 5applet程序设计(26页珍藏版)》请在金锄头文库上搜索。

1、第五章 Applet程序设计,本讲要点,学习目标 掌握:Applet的运行机制。 理解:Applet的生命周期。 了解:Applet 声音和图象的使用。 重点 理解:Java Applet程序的运行机制。 掌握:Java Applet程序的生命周期中的方法。 难点 Java Applet程序中的方法使用。,5.1 Applet 的生命周期和Applet 的方法,Applet的生命周期中四个状态 初始态; 停止态; 当Applet程序所在的浏览器图标化或者是转入其它页面时,该Applet程序马上执行stop()方法,Applet程序进入停止态。 运行态; 在停止态中,如果浏览器又重新装载该App

2、let程序所在的页面,或者是浏览器从图标中复原,则Applet程序马上调用start()方法,进入运行态。 消亡态; 在停止态时,如果浏览器关闭,则Applet程序调用destroy()方法,进入消亡态。,Applet 类的层次关系,Applet的创建,一个小示例 import java.applet.*; /引入applet包 public class MyJavaApplet extends Applet 说明: 主类必须是Applet的子类,是public 类型的,应以与类名一致的文件名存盘。 Applet是Panel的子类,因此可以在Applet上添加组件,设计图形用户界面,使得用户可

3、以在web页面中进行交互操作。 Applet是由浏览器调用的,不需要main方法。,Applet的生命周期,生命周期: 从调用init()方法,Applet开始运行,到调用destroy()方法,Applet停止运行,回收资源,这个流程称为Applet的生命周期。 生命周期有四个主要方法: 初始化:init() public void init() 启动: start() public void start() 停止: stop() public void stop() 删除: destory() public void destroy(),applet的生命周期 paint()虽不在生命周期

4、内,但它的作用相当于applet的灵魂,Java.applet.Applet,public void init(),public void destroy(),public void start(),public void stop(),public void paint(Graphics g),init,start,stop,destroy,离开web页面,重新装入或改变页面大小或返回Web页面,一个applet的可视周期,Applet 类的显示方法,绘图:paint()方法 public void paint(Graphics g) public abstract void drawStr

5、ing(String str, int x, int y) Graphics 类的此方法使用此图形上下文的当前字体和颜色绘制由指定 string 给定的文本。最左侧字符的基线位于此图形上下文坐标系统的 (x, y) 位置处。 str :要绘制的 string。 x :x 坐标。 y :y 坐标。 重绘:repaint()方法 public void repaint() 更新:update(Graphics g)方法 public void update(Graphics g),paint(),update()和repaint()方法间的内在关系,5.2 Applet 标记,和标志着HTML文件

6、的开始和结束。 在HTML文件中嵌入Java Applet,用 APPLET和, ,. . . alternateHTML ,嵌入Java Applet 标记的完整语法,嵌入Java Applet 标记的语法说明,archive = archiveList 可选属性,描述了一个或多个含有将被“预装”的类和其他资源的archives。 code = appletFile.class 必选属性,它给定了含有已编译好的Applet 子类的文件名。 width = pixels height = pixels 必选属性,给出Applet 显示区域的初始宽度和高度(以象素为单位),不包括Applet 所

7、产生的任何窗口或对话框。 codebase = codebaseURL 可选属性,指定Applet 的基URL包含有Applet 代码的目录。 alt = alternateText 可选属性,指定当浏览器能读取Applet 标记但不能执行Java Applet 时要显示的文本。,name = appletInstanceName 可选属性,为Applet 实例指定有关名称。 align = alignment 可选属性,指定了Applet 的对齐方式。 vspace = pixels hspace = pixels 可选属性,指定了在Applet 上下(vspace)及左右(hspace)的

8、象素数目。 可选属性,提供了一种可带有由“外部”指定的数值的Applet。 alternateHTML 可选属性,不支持Java 程序执行的浏览器将显示被包括在和标记之间的任何常规的HTML。,嵌入Java Applet 标记的语法说明,例5-1嵌入Applet小程序的HTML文件, Applet Program ,和标记表示HTML文件主体的开始和结束。,5.3 Applet通信,同一页Applet之间的通信 通过调用Applet 类的getAppletContext( )可得到当前Applet的AppletContext对象,再调用该对象的getApplet (String name)可得

9、到名字为name的 Applet对象。 例5-2同一页的两个Applet之间的通信示例 。,import java.awt.*; import java.awt.event.*; import java.applet.*; public class BeiJing extends Applet Panel panel1=new Panel(); TextArea textArea1=new TextArea(); Label label1=new Label(“我是北京,向上海发消息:“); TextField textField1=new TextField();,Button button

10、1=new Button(“发送“); GridLayout gridLayout1 = new GridLayout(); Panel panel2=new Panel(); TextArea textArea2=new TextArea(); Label label2=new Label(“我是上海,向北京发消息:“); TextField textField2=new TextField(); Button button2=new Button(“发送“); GridLayout gridLayout2 = new GridLayout(); public void init() thi

11、s.setLayout(gridLayout1); textArea1.setColumns(20); textArea1.setRows(1); textArea1.setText(“从上海收到的消息:n“);,button1.addActionListener(new java.awt.event.ActionListener() public void actionPerformed(ActionEvent e) button1_actionPerformed(e);); textField1.setColumns(20); gridLayout1.setColumns(1); grid

12、Layout1.setRows(2); this.add(panel1,null); panel1.add(label1,null); panel1.add(textField1,null); panel1.add(button1,null); this.add(textArea1,null); this.setLayout(gridLayout2); textArea2.setColumns(20); textArea2.setRows(1); textArea2.setText(“从北京收到的消息:n“);,button2.addActionListener(new java.awt.ev

13、ent.ActionListener() public void actionPerformed(ActionEvent e) button2_actionPerformed(e);); textField2.setColumns(20); gridLayout2.setColumns(1); gridLayout2.setRows(2); this.add(panel2,null); panel2.add(label2,null); panel2.add(textField2,null); panel2.add(button2,null); this.add(textArea2,null);

14、 ,public String getAppletInfo() return “我是“+this.getParameter(“name“); ,void button1_actionPerformed(ActionEvent e) Applet recv; recv=this.getAppletContext().getApplet(“上海“); (ShangHai)recv).receive(textField1.getText(); void button2_actionPerformed(ActionEvent e) Applet recv; recv=this.getAppletCon

15、text().getApplet(“北京“); (ShangHai)recv).receive(textField2.getText(); public void receive(String msg) textArea1.append(msg+“n“); textArea2.append(msg+“n“); ,Applet与浏览器之间的通信,Applet与浏览器之间的通信是通过传递参数实现。 传递参数时使用的PARAM标记格式为: 读取参数的方法是getParameter(),该方法一般是在init()方法中被调用。 getParameter()方法的一般语法格式为: public Stri

16、ng getParameter(String name) 若无参数,该方法获取的值是null。为了防止这种情况发生,可以在程序中使用以下方法控制: String s = getParameter(“ParamName”); if (ParamName = = null) ParamName = “”;,PARAM NAME=name VALUE=values,例5-3 Applet与浏览器之间的通信示例,import java.applet.Applet; import java.awt.*; public class A extends Applet String name; public void init() name=getParameter(“myName“); public void paint(Graphics gr) gr.drawString(“ 师傅领进门,修行在个

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号