好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

Java讲义19-JavaApplet介绍.ppt

32页
  • 卖家[上传人]:M****1
  • 文档编号:576902785
  • 上传时间:2024-08-20
  • 文档格式:PPT
  • 文档大小:299.34KB
  • / 32 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 面向对象程序设计Java Applet 介绍 什么是Applet?oApplet就是使用Java语言编写的一段代码,它可以在浏览器环境中运行它与Application的区别主要在于其执行方式的不同napplication是从其中的main()方法开始运行的nApplet是在浏览器中运行的,必须创建一个HTML文件,通过编写HTML语言代码告诉浏览器载入何种Applet以及如何运行 Applet 举例oHelloWorld.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标记o不支持Java的浏览器会把之间的普通HTML文档显示出来;支持Java的浏览器,则把其中的普通HTML文档忽略oAppletViewer仅支持 标记,其它标记不会被显示出来。

      Applet的类层次 Applet的主要方法oinit( )创建Applet时执行,只执行一次ostart( )多次执行,当浏览器从图标恢复成窗口,或者是返回该主页时执行ostop( )多次执行,停止一些耗用系统资源的工作,浏览器变成图标时,或者是离开主页时执行odestroy( )用来释放资源,在stop( )之后执行 Applet的生命周期初始态(瞬时)运行态停止态消亡态start从图标恢复、重新装入此页图标化、Browser装入另一页startstop浏览器关闭destroy第一次装入构造、init Applet的绘制opaint( )进行绘图的具体操作,必须重写oupdate( )用于更新图形,先清除背景、前景,再调用paint()orepaint( )用于重绘图形,在组件外形发生变化,即大小改变或位置移动时,repaint( )方法立即被系统自动调用 Applet的绘制update( )clear areacall paint( )paint( )AWT Thread(Waiting)遮盖、调整大小、最大最小化等等程序调用repaint( ) Applet的多媒体处理o图像处理o声音处理 图像处理oApplet类中与图像处理有关的方法npublic Image getImage(URL url)npublic Image getImage(URL url,String name)o与Applet位置相关的方法nPublic URL getCodeBase()获取Applet code位置的URLnPublic URL getDocumentBase()获取Web页位置URL 图像处理oimport java.awt.*;oimport java.applet.*;opublic class Applet3 extends Applet{o Image img1, img2, img3;o public void init(){o img1=getImage(getDocumentBase(),"images/back1.gif");o img2=getImage(getDocumentBase(),"images/back2.gif");o img3=getImage(getDocumentBase(),"images/back3.gif");o }o public void paint(Graphics g){o g.drawImage(img1, 0,50,this);o g.drawImage(img2, 100,50,this);o g.drawImage(img3, 200,50,this);o }o} 声音处理oJava支持的声音格式AIFF、AU、WAV、MIDI、RMF等,applet包中的AudioClip接口包含了与声音相关的APIoAudioClip接口中的方法nvoid play();nvoid stop();nvoid loop(); 若想播放声音文件,只需从applet对象中获取AudioClip对象即可。

      声音处理oApplet类中与声音有关的方法npublic void play(URL url)npublic void play(URL url,String name)npublic final static AudioClip newAudioClip(URL url)npublic AudioClip getAudioClip(URL url)npublic AudioClip getAudioClip(URL url,String name) oimport java.awt.*;oimport java.applet.*;opublic class Applet4 extends Applet{o AudioClip music;o public void init(){o music=getAudioClip(getCodeBase(),"sounds/spacemusic.au");o }o public void start(){o music.loop(); o }o public void stop(){o music.stop();o }o}Applet播放声音 Applet参数oo ooString param=getParameter(“变量名”) Applet参数oimport java.awt.*;oimport java.applet.*;opublic class Applet5 extends Applet implements Runnable{o Image background;o String text;o boolean loop=true;o int delay; o public void init(){o background=getImage(getCodeBase(), getParameter("background"));o text=getParameter("text");o delay=Integer.parseInt(getParameter("delay")); o }o public void start(){o Thread t;o t=new Thread(this);o t.start();o } Applet参数o public void stop(){o loop=false;o }o public void run(){o int x=0;o Graphics g=getGraphics();o Image buffer=createImage(getWidth(),getHeight());o Graphics g2=buffer.getGraphics();o while(loop){o g2.drawImage(background,0,0, getWidth(), getHeight(),this);o g2.drawString(text,x,50);o g.drawImage(buffer,0,0,this);o x+=2;o if(x>=getWidth())x=0;o try{o Thread.sleep(delay);o }catch(Exception e){} o }o }o} 使用浏览器控制Appletoo 使用浏览器控制Appletoimport java.awt.*;oimport java.applet.*;opublic class Applet6 extends Applet{o public void paint(Graphics g){o g.drawString("浏览器调用Applet方法!",50,50);o }o public void setRed(){o setBackground(new Color(255, 0, 0));o }o public void setGreen(){o setBackground(new Color(0, 255, 0));o }o public void setBlue(){o setBackground(new Color(0, 0, 255));o }o} 使用Applet控制浏览器o得到当前运行页的环境上下文AppletContext对象public AppletContext getAppletContext(); 使用Applet控制浏览器oAppletContext类的常用方法n显示url指定的Web页void showDocument(URL url)void showDocument(URL url,String target)void showStatus(String status) 控制其他AppletoAppletContext类的常用方法n取得名为name的Applet对象public abstract Applet getApplet(String name);n得到当前页中所有Applet对象public abstract Enumeration getApplets(); 控制其他Appletoimport java.awt.*;oimport java.applet.*;opublic class Applet8 extends Applet{o private Label label;o public void init(){o setBackground(Color.yellow);o label=new Label("你好!");o add(label);o }o public void moveLabel(int x, int y){o label.setLocation(x, y);o }o} 控制其他Appletoimport java.awt.*;oimport java.applet.*;oimport java.awt.event.*;opublic class Applet8_Controller extends Applet implements MouseMotionListener{o Applet8 applet8;o public void init(){o addMouseMotionListener(this);o setBackground(Color.red);o }o public void mouseMoved(MouseEvent me){ o if(applet8==null)o applet8=(Applet8)getAppletContext().getApplet("applet8");o applet8.moveLabel(me.getX(), me.getY());o }o public void mouseDragged(MouseEvent me){}o} 同时是Applet与Applicationimport 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的 安全性o“沙箱”机制o浏览器禁止Applet执行下列操作:(1)在运行时调用其它程序(2)文件读写操作(3)装载动态连接库和调用任何本地方法(4)试图打开一个socket进行网络通信,但是所连接的主机并不是提供Applet的主机 Applet的 安全性oimport java.awt.*;oimport java.applet.*;oimport java.io.*;opublic class Applet9 extends Applet{o TextArea ta=new TextArea("", 10, 30, 1);o public void init(){o add(ta);o File f=new File("c:\\abc.txt");o try{o if(f.exists())o ta.setText("文件存在!");o elseo ta.setText("文件不存在!");o }o catch(Exception e){o ta.setText(e.toString());o }o }o} 。

      点击阅读更多内容
      相关文档
      【全国硕士研究生入学统一考试政治】2020年考研政治真题.docx 【全国硕士研究生入学统一考试政治】2015年考研政治真题.docx 【全国硕士研究生入学统一考试政治】2010年考研政治真题.docx 【全国硕士研究生入学统一考试政治】1996年政治考研真题(理科)及参考答案.doc 【全国硕士研究生入学统一考试政治】2001年政治考研真题(理科)及参考答案.doc 【全国硕士研究生入学统一考试政治】2016年考研政治真题.docx 【全国硕士研究生入学统一考试政治】2000年政治考研真题(文科)及参考答案.doc 【全国硕士研究生入学统一考试政治】1997年政治考研真题(理科)及参考答案.doc 【全国硕士研究生入学统一考试政治】2007年考研政治真题.doc 【全国硕士研究生入学统一考试政治】1997年政治考研真题(文科)及参考答案.doc 【全国硕士研究生入学统一考试政治】2004年考研政治真题.doc 【全国硕士研究生入学统一考试政治】2003年考研政治真题.doc 【全国硕士研究生入学统一考试政治】2019年考研政治真题.docx 【全国硕士研究生入学统一考试政治】2009年考研政治真题.docx 【全国硕士研究生入学统一考试政治】2001年政治考研真题(文科)及参考答案.doc 【全国硕士研究生入学统一考试政治】2021年考研政治真题.doc 【全国硕士研究生入学统一考试政治】2014年考研政治真题.docx 【全国硕士研究生入学统一考试政治】2018年考研政治真题.docx 【全国硕士研究生入学统一考试政治】2008年考研政治真题.doc 【全国硕士研究生入学统一考试政治】2011年考研政治真题.docx
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.