Java讲义19-JavaApplet介绍.ppt_第1页
Java讲义19-JavaApplet介绍.ppt_第2页
Java讲义19-JavaApplet介绍.ppt_第3页
Java讲义19-JavaApplet介绍.ppt_第4页
Java讲义19-JavaApplet介绍.ppt_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

面向对象程序设计,Java Applet 介绍,什么是Applet?,Applet就是使用Java语言编写的一段代码,它可以在浏览器环境中运行。它与Application的区别主要在于其执行方式的不同。 application是从其中的main()方法开始运行的 Applet是在浏览器中运行的,必须创建一个HTML文件,通过编写HTML语言代码告诉浏览器载入何种Applet以及如何运行。,Applet 举例,HelloWorld.java 源程序: import java.awt.Graphics; import java.applet.Applet; public class HelloWorld extends Applet String hw_text ; public void init () hw_text = “Hello World“; public void paint(Graphics g) g.drawString (hw_text , 25, 25) ; ,Applet的 运行,为运行Applet需要编写相应的HTML文件: ,Applet标记, /参数名称及其值 alternateHTML ,Applet标记,不支持Java的浏览器会把之间的普通HTML文档显示出来;支持Java的浏览器,则把其中的普通HTML文档忽略 AppletViewer仅支持 标记,其它标记不会被显示出来。,Applet的类层次,Applet的主要方法,init( ) 创建Applet时执行,只执行一次 start( ) 多次执行,当浏览器从图标恢复成窗口,或者是返回该主页时执行 stop( ) 多次执行,停止一些耗用系统资源的工作, 浏览器变成图标时,或者是离开主页时执行 destroy( ) 用来释放资源,在stop( )之后执行,Applet的生命周期,destroy,第一次装入,构造、init,Applet的绘制,paint( ) 进行绘图的具体操作,必须重写 update( ) 用于更新图形,先清除背景、前景,再调用paint() repaint( ) 用于重绘图形,在组件外形发生变化,即大小改变或位置移动时,repaint( )方法立即被系统自动调用,Applet的绘制,update( ) clear area call paint( ),paint( ),AWT Thread(Waiting),遮盖、调整大小、 最大最小化等等,程序调用 repaint( ),Applet的多媒体处理,图像处理 声音处理,图像处理,Applet类中与图像处理有关的方法 public Image getImage(URL url) public Image getImage(URL url,String name) 与Applet位置相关的方法 Public URL getCodeBase() 获取Applet code位置的URL Public URL getDocumentBase() 获取Web页位置URL,图像处理,import java.awt.*; import java.applet.*; public class Applet3 extends Applet Image img1, img2, img3; public void init() img1=getImage(getDocumentBase(),“images/back1.gif“); img2=getImage(getDocumentBase(),“images/back2.gif“); img3=getImage(getDocumentBase(),“images/back3.gif“); public void paint(Graphics g) g.drawImage(img1, 0,50,this); g.drawImage(img2, 100,50,this); g.drawImage(img3, 200,50,this); ,声音处理,Java支持的声音格式AIFF、AU、WAV、MIDI、RMF等,applet包中的AudioClip接口包含了与声音相关的API AudioClip接口中的方法 void play(); void stop(); void loop(); 若想播放声音文件,只需从applet对象中获取AudioClip对象即可。,声音处理,Applet类中与声音有关的方法 public void play(URL url) public void play(URL url,String name) public final static AudioClip newAudioClip(URL url) public AudioClip getAudioClip(URL url) public AudioClip getAudioClip(URL url,String name),import java.awt.*; import java.applet.*; public class Applet4 extends Applet AudioClip music; public void init() music=getAudioClip(getCodeBase(),“sounds/spacemusic.au“); public void start() music.loop(); public void stop() music.stop(); ,Applet播放声音,Applet参数, String param=getParameter(“变量名”),Applet参数,import java.awt.*; import java.applet.*; public class Applet5 extends Applet implements Runnable Image background; String text; boolean loop=true; int delay; public void init() background=getImage(getCodeBase(), getParameter(“background“); text=getParameter(“text“); delay=Integer.parseInt(getParameter(“delay“); public void start() Thread t; t=new Thread(this); t.start(); ,Applet参数,public void stop() loop=false; public void run() int x=0; Graphics g=getGraphics(); Image buffer=createImage(getWidth(),getHeight(); Graphics g2=buffer.getGraphics(); while(loop) g2.drawImage(background,0,0, getWidth(), getHeight(),this); g2.drawString(text,x,50); g.drawImage(buffer,0,0,this); x+=2; if(x=getWidth()x=0; try Thread.sleep(delay); catch(Exception e) ,使用浏览器控制Applet,使用浏览器控制Applet,import java.awt.*; import java.applet.*; public class Applet6 extends Applet public void paint(Graphics g) g.drawString(“浏览器调用Applet方法!“,50,50); public void setRed() setBackground(new Color(255, 0, 0); public void setGreen() setBackground(new Color(0, 255, 0); public void setBlue() setBackground(new Color(0, 0, 255); ,使用Applet控制浏览器,得到当前运行页的环境上下文AppletContext对象 public AppletContext getAppletContext();,使用Applet控制浏览器,AppletContext类的常用方法 显示url指定的Web页 void showDocument(URL url) void showDocument(URL url,String target) void showStatus(String status),控制其他Applet,AppletContext类的常用方法 取得名为name的Applet对象 public abstract Applet getApplet(String name); 得到当前页中所有Applet对象 public abstract Enumeration getApplets();,控制其他Applet,import java.awt.*; import java.applet.*; public class Applet8 extends Applet private Label label; public void init() setBackground(Color.yellow); label=new Label(“你好!“); add(label); public void moveLabel(int x, int y) label.setLocation(x, y); ,控制其他Applet,import java.awt.*; import java.applet.*; import java.awt.event.*; public class Applet8_Controller extends Applet implements MouseMotionListener Applet8 applet8; public void init() addMouseMotionListener(this); setBackground(Color.red); public void mouseMoved(MouseEvent me) if(applet8=null) applet8=(Applet8)getAppletContext().getApplet(“applet8“); applet8.moveLabel(me.getX(), me.getY(); public void mouseDragged(MouseEvent me) ,同时是Applet与Application,import java.awt.*; import java.awt.event.*; public class AppletApp extends Applet public void main(String args) Frame frame=new Frame(“Application”); AppletApp app=new AppletApp(); frame.add(“Center”,app); frame.setSize(200,200);,frame.validate(); frame.setVisible(true); frame.addWindwoListener(new WindowControl(app); app.init(); app.start(); public void paint(Graphics g) g.drawString(“hello world”,25,25); public void destroy() System.exit(0); ,class WindowControl extends WindowAdapter Applet c; public WindowControl(Applet c) this.c=c; public void windowClosing(WindowEvent e) c.destroy( ); ,Applet的 安全性,“沙箱”机制 浏览器禁止Applet执行下列操作: (1)在运行时调用其它程序 (2)文件读写操作 (3)装载动态连接库和调用任何本地方法 (4)试图打开一个socket进行网络通信,但是所连接的主机并不是提供Applet的主机,Applet的 安全性,import java.awt.*; impo

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论