精华内容
下载资源
问答
  • Java Applet

    2019-04-12 20:04:38
    一个Java Applet 程序的执行过程称为这个 Java Applet 的生命周期。 (1) 初始化: init() (2) 启动 : start() (3)停止:stop() (4) 删除 : destroy() (5) 描绘 :paint(Graphics g) 在Java Applet 中播放声.....

    目录

    Java Applet 结构

    Java Applet 的运行原理

    一个Java Applet 程序的执行过程称为这个 Java Applet 的生命周期。

    (1) 初始化: init() 

    (2) 启动 : start()

    (3)停止:stop()

    (4) 删除 : destroy()

    (5) 描绘 : paint(Graphics g)

    在Java Applet 中播放声音

    网页传值

    小结:


    Java Applet程序(也称Java小程序),是Java语言中的一种特殊的嵌入式程序,有浏览器中内置的JVM执行。

    Java Applet 结构

    一个Java Applet 程序中必须有一个类是Applet 类的子类,该子类称作Java Applet 程序的主类,必须修饰为 public 的。Applet 类是 java.applet 包中的一个类。同时还是 java.awt 包中Container ( 容器类),因此一个 Java Applet 程序主类的实例是一个容器,用户可以在容器内添加组件,处理组件事件,完成工作。

    Java Applet 的运行原理

    Java Applet 通过浏览器来执行,和 Java 程序有许多不同之处。下面来讲解Java Applet 的运行原理。

    1. 源文件 Examle.java

    import java.applet.Applet;
    import java.awt.Button;
    import java.awt.Color;
    import java.awt.Graphics;
    
    public class Example extends Applet {
    	/**
    	 * 
    	 */
    	private static final long serialVersionUID = 1L;
    	
    	Button button1,button2;
    	int sum;
    
    	@Override
    	public void init() {
    		// TODO Auto-generated method stub
    		button1 = new Button("Yes");
    		button2 = new Button("NO");
    		add(button1);
    		add(button2);
    	}
    	@Override
    	public void start() {
    		// TODO Auto-generated method stub
    		sum = 0;
    		for (int i = 0; i < 100; i++) {
    			sum += i;
    		}
    	}
    
    	@Override
    	public void stop() {
    		// TODO Auto-generated method stub
    		super.stop();
    	}
    	@Override
    	public void destroy() {
    		// TODO Auto-generated method stub
    		super.destroy();
    	}
    	
    	@Override
    	public void paint(Graphics g) {
    		// TODO Auto-generated method stub
    		g.setColor(Color.blue);
    		g.drawString("程序设计方法",20,60);
    		g.setColor(Color.red);
    		g.drawString("sum=" + sum,20,100);
    	}
    }
    

    一个 Java Applet  程序,也是由若干个类组成,但必须有一个类是Applet 类的子类,Applet 类是系统提供的,把这个类(也就是Applet 类的子类)称为Applet 类的主类。主类必须用public 修饰。一个Java Applet 程序,不再需要main方法,但必须有一类扩展了Applet 类。保存上面源文件。命名 Example.java.

    2.编译 javac Example.java

    3.运行

    Java Applet 属于嵌入是开发的一种,嵌入式主类的实例化由该嵌入程序的平台的JVM负责。这样,必须向这样的平台提供相应的配置文件,嵌入该平台使用的配置文件,通知平台JVM创建主类的对象,并让该对象产生相应的行为

    Java Applet 必须嵌入到Web 浏览器中去,因此,必须编写一个超文本文件,即配置文件,告诉浏览器运行这个 Java Applet.

    show.html

    ​
    <applet code= Example.class Height = 180 width = 300>
    </applet>

    超文本中的标记<applet></applet> 告诉浏览器运行一个 Java Applet 程序,code 告诉我们运行那个程序。后面是.class 字节码文件。


    一个Java Applet 程序的执行过程称为这个 Java Applet 的生命周期。

    Java Applet 程序的生命周期涉及 init()、start()、stop()、destroy() 和 paint(Graphics g) 方法,这些方法是一个完整的 Java Applet 程序所包含的。

    浏览器解释执行show.html 时。如果发现有 applet 标记,浏览器内置的 JVM 将使用 主类创建一个对象,该对象是容器,他的大小由 show.html 中的 width 和 heigth 决定。

    习惯上把浏览器内置 JVM 创建一个主类对象,称为一个applet 。applet 具有以下行为

    (1) 初始化: init() 

    applet 首先自动调用 init() 完成必要的初始化工作,主要任务创建所需要的其他对象,设置初始状态,装载图像,设置参数。此方法只被调用一次。该方法是父类Applet 中的方法。Example.java 重写了此方法。

    (2) 启动 : start()

    初始化后,自动调用次方法,可以被多次调用。

    (3)停止:stop()

    当浏览器离开applet 所在的页面时,applet 调用 stop(),如果再次回到此页,applet 将再次调用strat(),离开再次调用stop() stop()也可以多次调用。

    (4) 删除 : destroy()

    当浏览器结束浏览时,applet 执行destry() 方法,结束applet 的生命。

    (5) 描绘 : paint(Graphics g)

    此方法可以使一个 applet 在屏幕上显示某些信息,例如文字、色彩、背景、图像,在applet 的生命周期中可以多次调用paint 方法。


    在调用 Java 程序时,可以使用浏览器打开show.html.如果浏览器不支持applet (没有内置JVM),可以使用JDK提供的appletviewer调试 Java Applet.

    文件所在目录地址> appletviewer show.html

    Java Applet 增强了B/S模式的功能。C/S 模式中的客户端使用应用程序和服务器交互信息,优点为客户提供工更多的功能,缺点不利于系统的维护。B/S 模式中的客户端使用浏览器和服务器交互信息,不能各位客户端提供较多的功能,优点便于系统的维护。通过一个浏览器器访问一个含有aoolket 标记的网页,下载执行一个 Java Applet 。何以很好弥补B/S 模式的不足。

     


    在Java Applet 中播放声音

    用Java 可以播放 au、aiff、wav、midi、rfm格式的音频。au.格式是早期唯一支持的音频格式。为了播放音频首先要创建一个AuidoClip 对象。java.applet包中的类,可以使用Applet 类的一个静态方法 :newAudioClip(java.net.URL)或者Applet 类的实例方法getAudioClip(Url url,String name)

    根据 url 提供的地址,以及处理该处的声音文件nam,获得一个用于播放音频的对象。这个对象使用一下方法来处理声音文件:

    • play() :  播放声音文件
    • loop() : 循环播放
    • stop() : 停止播放

    例子:

    Example2

    import java.applet.Applet;
    import java.applet.AudioClip;
    import java.awt.Button;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    
    public class Example2 extends Applet implements ActionListener{
    	
    	AudioClip clip;
    	Button buttonPlay,buttonLoop,buttonStop;
    	public void init(){
    		clip = getAudioClip(getCodeBase(),"dungWav");
    		buttonPlay = new Button("开始播放");
    		buttonLoop = new Button("循环播放");
    		buttonStop = new Button("停止播放");
    		buttonPlay.addActionListener(this);
    		buttonLoop.addActionListener(this);
    		buttonStop.addActionListener(this);
    		add(buttonPlay);
    		add(buttonLoop);
    		add(buttonStop);
    	}
    	public void stop(){
    		clip.stop();
    	}
    	@Override
    	public void actionPerformed(ActionEvent e) {
    		// TODO Auto-generated method stub
    		if(e.getSource() == buttonPlay){
    			clip.play();
    		}else if(e.getSource() == buttonLoop){
    			clip.loop();
    		}else if(e.getSource() == buttonStop){
    			clip.stop();
    		}
    		
    	}
    
    	
    }

    网页传值

    用户可以通过若干个 <Param...> 标志把值传入Java Applet 中去,这样实现了动态地向 Java Applet 程序传递信息,而不必重新编译,便于Java Applet 的维护和使用。

    下面通过 Html 向Java Applet 传递两个整数。

    import java.applet.Applet;
    
    public class Example3 extends Applet{
    	int x,y,sum;
    	public void init(){
    		String s1 = getParameter("girl");
    		String s2 = getParameter("boy");
    		x = Integer.parseInt(s1);
    		y = Integer.parseInt(s2);
    		sum = x + y;
    	}
    }

    param.html

    <applet code = Example3.class width = 200 height = 200>
        <Param name = "girl" value = "160">
         <Param name = "boy" value = "175">
    </applet>

    小结:

    1. 在 Java Applet 程序中必须有一个 public 类 是 Applet 类的子类,称为 Java Applet 类的主类。
    2. Java Applet 必须嵌入到浏览器中运行。
    3. 浏览器内置的 JVM 用 Java Applet 程序的主类创建对象,该对象称为一个 applet。一个applet 在他的生命周期内要调用init、start、stop、paint、和destroy等方法。
    展开全文
  • java applet

    2018-04-15 22:06:00
    先简单介绍一下啥子是java appletApplet是一种特殊的Java程序,它本身不能单独运行,需要嵌入在一个HTML文件中,借助浏览器或Appletviewer来解释执行.Applet可能通过网络传输,由浏览器自动装载并执 行. 和...

    先简单介绍一下啥子是java applet,

    Applet是一种特殊的Java程序,它本身不能单独运行,需要嵌入在一个HTML文件中,借助浏览器或Appletviewer来解释执行.Applet可能通过网络传输,由浏览器自动装载并执

    行.

    和Applicaton不同,Applet程序都必须继承自Java的Java.applet.Applet类或javax.swing.JApplet类 public class myApplet extends java.applet.Applet或public class

    myApplet extends javax.swing.JApplet 其实 JApplet类也是继承自Applet类. 要浏览Applet需要将它嵌入在网页中,只需在HTML文件中插入<APPLET>标记即可.

     

    1.Applet的使用

    import java.applet.Applet;
    import java.awt.Graphics;
    
    public class AppletDemo extends Applet 
    {
        @Override
        public void paint(Graphics g)
        {
            g.drawString("Hello Applet!", 5, 30);//绘制文本
            g.drawArc(80,50,40,40,20,360);//绘制一个圆形
        }
    }

    2.Applet程序HTML文件的编写

    <html>
      <head>
      <title>Applet</title>
      </head>
      <body>
      <applet CODE = "AppletDemo.class" width = "300" height = "100"></applet>
      </body>
    <html>

    3.Applet常用方法

    import java.applet.Applet;
    import java.awt.Graphics;
    
    public class AppletDemo extends Applet 
    {
        String mystring = "";
        @Override
        public void paint(Graphics g)
        {
            g.drawString(mystring, 5, 30);
        }
        public void init()
        {
            mystring = mystring + "正在初始化...";
            repaint();
        }
        public void start()
        {
            mystring = mystring + "正在开始启动程序...";
            repaint();
        }
        public void stop()
        {
            mystring = mystring + "正在停止执行程序...";
            repaint();
        }
        public void destroy()
        {
            mystring = mystring + "正在回收资源...";
            repaint();
        }
    }

    4.从HTML文件向Java小程序传递参数

    传递的参数必须在HTML文件中声明,并且在Applet初始化时进行读取。参数使用<applet>标签的子标签<param>声明,且不需要结束标签。

    <param name=param_name value=param_value>

    <html>
    <head><title>Parameters</title></head>
    <body>
    This is a message.<br>
    <applet code=”ParamPass.class” width=”400” height=”100”>
          <param name=”fontname” value=”DialogInput” />
          <param name=”fontsize” value=”24” />
    </applet>
    </body></html>
     import java.awt.Font;
     2 import java.awt.Graphics;
     3 import javax.swing.JApplet;
     4 import javax.swing.JPanel;
     5 
     6 public class ParamPass extends JApplet
     7 {
     8     private Font f;
     9     private int size;
    10     private String name;
    11     public void init()
    12     {
    13         name = getParameter("fontname");
    14         size = Integer.parseInt(getParameter("fontsize"));
    15         f = new Font(name,Font.BOLD,size);
    16         add(new MyPanel());
    17     }
    18     class MyPanel extends JPanel
    19     {
    20         public void paintComponent(Graphics g)
    21         {
    22             super.paintComponent(g);
    23             g.setFont(f);
    24             g.drawString("This is a message.", 50, 50);
    25         }
    26     }
    27 }

    以上内容仅仅是对Applet的相关概念、使用Applet程序的基本方法以及在HTML代码中嵌入Applet程序等基础的内容的了解。

    转载于:https://www.cnblogs.com/douflamingo-666/p/8849757.html

    展开全文
  • JAVA Applet

    热门讨论 2013-03-06 09:42:34
    Appletjava.awt.Panel的直接子类, 编写applet程序: 1)加载java.applet.Applet类 2)定义一个主类继承自Applet类,并把相关程序代码编写在这个类里。
  • java applet[编辑]概述JavaApplet就是用Java语言编写的小应用程序,可以直接嵌入到网页中,并能够产生特殊的效果。介绍Java Applet就是用Java语言编写的一些小应用程序,它们可以直接嵌入到网页中,并能够产生特殊的...

    java applet[编辑]

    概述

    JavaApplet就是用Java语言编写的小应用程序,可以直接嵌入到网页中,并能够产生特殊的效果。

    介绍

    Java Applet就是用Java语言编写的一些小应用程序,它们可以直接嵌入到网页中,并能够产生特殊的效果。包含Applet的网页被称为Java-Powered页,可以称其为Java支持的网页。

    当用户访问这样的网页时,Applet被下载到用户计算机上执行,但前提是用户使用的是支持Java的网络浏览器。由于Applet是在用户计算机上执行的,因此它的执行速度是不受网络宽带或者MODEM存取速度的限制,用户可以更好的欣赏网页上Applet产生的多媒体效果。

    在Java Applet中,可以实现图形绘制、字体和颜色控制、动画和声音的插入、人机交互及网络交流等功能.Applet还提供各种名为抽象窗口工具箱 (Abstract Window Toolkit,AWT)的窗口环境开发工具,但AWT的设计是存在缺陷的,取而代之的Swing技术为Java GUI组建的轻量组建.它们利用用户计算机的GUI元素,可以建立标准的图形用户界面,如窗口、按钮、滚动条等。目前,在网络上有非常多的Applet范例来生动地展现这些功能。

    详述

    Applet可以翻译为小应用程序,Java Applet就是用Java语言编写的这样的一些小应用程序,它们可以直接嵌入到网页中,并能够产生特殊的效果。包含Applet的网页被称为Java-powered页,可以称其为Java支持的网页。

    当用户访问这样的网页时, Applet被下载到用户的计算机上执行,但前提是用户使用的是支持Java的网络l浏览器。由于Applet是在用户的计算机上执行的,因此它的执行速度不受网络带宽或者Modem存取速度的限制。用户可以更好地欣赏网页上Applet产生的多媒体效果。

    在Java Applet中,可以实现图形绘制,字体和颜色控制,动画和声音的插入,人机交互及网络交流等功能。 Applet还提供了名为抽象窗口工具箱(Abstract Window Toolkit, AWT)的窗口环境开发工具。 AWT利用用户计算机的GUI元素,可以建立标准的图形用户界面,如窗口、按钮、滚动条等等。目前,在网络上有非常多的Applet范例来生动地展现这些功能,读者可以去调阅相应的网页以观看它们的效果。

    Applet的工作原理.

    含有Applet的网页的HTML文件代码中部带有 和这样一对标记,当支持Java的网络浏览器遇到这对标记时,就将下载相应的小应用程序代码并在本地计算机上执行该Applet。

    描述

    提供创建 applet 所必需的类和 applet 用来与其 applet 上下文通信的类。 applet 框架包括两种实体:applet 和 applet 上下文。applet 是一种可嵌入的窗体(参见 Panel 类),它带有几个 applet 上下文用来初始化、启动和终止 applet 的额外方法。 applet 上下文是负责加载和运行 applet 的应用程序。例如,applet 上下文可能是 Web 浏览器或 applet 开发环境。

    构造方法摘要

    Applet()

    构造一个新 Applet。

    方法摘要

    void destroy()

    由浏览器或 applet viewer 调用,通知此 applet 它正在被回收,它应该销毁分配给它的任何资源。

    AccessibleContext getAccessibleContext()

    获取与此 Applet 关联的 AccessibleContext。

    AppletContext getAppletContext()

    确定此 applet 的上下文,上下文允许 applet 查询和影响它所运行的环境。

    String getAppletInfo()

    返回有关此 applet 的信息。

    AudioClip getAudioClip(URL url)

    返回 URL 参数指定的 AudioClip 对象。

    AudioClip getAudioClip(URL url, String name)

    返回 URL 和 name 参数指定的 AudioClip 对象。

    URL getCodeBase()

    获得基 URL。

    URL getDocumentBase()

    获取嵌入此 applet 的文档的 URL。

    Image getImage(URL url)

    返回能被绘制到屏幕上的 Image 对象。

    Image getImage(URL url, String name)

    返回能被绘制到屏幕上的 Image 对象。

    Locale getLocale()

    获取 applet 的语言环境。

    String getParameter(String name)

    返回 HTML 标记中指定参数的值。

    String[][] getParameterInfo()

    返回此 applet 理解的关于参数的信息。

    void init()

    由浏览器或 applet viewer 调用,通知此 applet 它已经被加载到系统中。

    boolean isActive()

    确定 applet 是否处于活动状态。

    static AudioClip newAudioClip(URL url)

    从给定 URL 处获取音频剪辑。

    void play(URL url)

    播放指定绝对 URL 处的音频剪辑。

    void play(URL url, String name)

    播放音频剪辑,给定了 URL 及与之相对的说明符。

    void resize(Dimension d)

    请求调整此 applet 的大小。

    void resize(int width, int height)

    请求调整此 applet 的大小。

    void setStub(AppletStub stub)

    设置此 applet 的 stub。

    void showStatus(String msg)

    请求将参数字符串显示在“状态窗口”中。

    void start()

    由浏览器或 applet viewer 调用,通知此 applet 它应该开始执行。

    void stop()

    由浏览器或 applet viewer 调用,通知此 applet 它应该终止执行。

    注:windowsXP自带的IE浏览器不支持java.applet。

    参考资料:

    扩展阅读:

    相关词条:

    合作编辑:

    分享到:

    更多

    网络营销词典内容均由网友提供,仅供参考。如发现词条内容有问题,请发邮件至info # wm23.com。

    展开全文
  • Java Applet 基础Applet 是一种 Java 程序。它一般运行在支持 Java 的 Web 浏览器内。因为它有完整的 Java API支持,所以Applet 是一个全功能的 Java 应用程序。如下所示是独立的 Java 应用程序和 applet 程序之间...

    Java Applet 基础

    Applet 是一种 Java 程序。它一般运行在支持 Java 的 Web 浏览器内。因为它有完整的 Java API支持,所以Applet 是一个全功能的 Java 应用程序。

    如下所示是独立的 Java 应用程序和 applet 程序之间重要的不同:

    Java 中 Applet 类继承了 java.applet.Applet 类。

    Applet 类没有定义 main(),所以一个 Applet 程序不会调用 main() 方法。

    Applet 被设计为嵌入在一个 HTML 页面。

    当用户浏览包含 Applet 的 HTML 页面,Applet 的代码就被下载到用户的机器上。

    要查看一个 Applet 需要 JVM。 JVM 可以是 Web 浏览器的一个插件,或一个独立的运行时环境。

    用户机器上的 JVM 创建一个 Applet 类的实例,并调用 Applet 生命周期过程中的各种方法。

    Applet 有 Web 浏览器强制执行的严格的安全规则,Applet 的安全机制被称为沙箱安全。

    Applet 需要的其他类可以用 Java 归档(JAR)文件的形式下载下来。

    Applet的生命周期

    Applet 类中的四个方法给你提供了一个框架,你可以再该框架上开发小程序:

    init:该方法的目的是为你的 Applet 提供所需的任何初始化。在 Applet 标记内的 param 标签被处理后调用该方法。

    start: 浏览器调用 init 方法后,该方法被自动调用。每当用户从其他页面返回到包含 Applet 的页面时,则调用该方法。

    stop: 当用户从包含 Applet 的页面移除的时候,该方法自动被调用。因此,可以在相同的 Applet 中反复调用该方法。

    destroy:此方法仅当浏览器正常关闭时调用。因为 Applet 只有在 HTML 网页上有效,所以你不应该在用户离开包含 Applet 的页面后遗漏任何资源。

    paint: 该方法在 start() 方法之后立即被调用,或者在 Applet 需要重绘在浏览器的时候调用。paint() 方法实际上继承于 java.awt。

    "Hello, World" Applet:

    下面是一个简单的 Applet 程序 HelloWorldApplet.java:

    HelloWorldApplet.java 文件代码:

    import java.applet.*;import java.awt.*;public class HelloWorldApplet extendsApplet

    {public voidpaint (Graphics g)

    {

    g.drawString ("Hello World", 25, 50);

    }

    }

    这些 import 语句将以下类导入到我们的 Applet 类中:

    java.applet.Applet. java.awt.Graphics.

    没有这些 import 语句,Java 编译器就识别不了 Applet 和 Graphics 类。

    Applet 类

    每一个 Applet 都是 java.applet.Applet 类的子类,基础的 Applet 类提供了供衍生类调用的方法,以此来得到浏览器上下文的信息和服务。

    这些方法做了如下事情:

    得到 Applet 的参数

    得到包含 Applet 的 HTML 文件的网络位置

    得到 Applet 类目录的网络位置

    打印浏览器的状态信息

    获取一张图片

    获取一个音频片段

    播放一个音频片段

    调整此 Applet 的大小

    除此之外,Applet 类还提供了一个接口,该接口供 Viewer 或浏览器来获取 Applet 的信息,并且来控制 Applet 的执行。

    Viewer 可能是:

    请求 Applet 作者、版本和版权的信息

    请求 Applet 识别的参数的描述

    初始化 Applet

    销毁 Applet

    开始执行 Applet

    结束执行 Applet

    Applet 类提供了对这些方法的默认实现,这些方法可以在需要的时候重写。

    "Hello,World"applet 都是按标准编写的。唯一被重写的方法是 paint 方法。

    Applet 的调用

    Applet 是一种 Java 程序。它一般运行在支持 Java 的 Web 浏览器内。因为它有完整的 Java API 支持,所以 Applet 是一个全功能的 Java 应用程序。

    标签是在HTML文件中嵌入 Applet 的基础。以下是一个调用"Hello World"applet的例子;

    HTML 代码:

    The Hello, World Applet

    If your browser was Java-enabled, a "Hello, World"message would appear here.


    注意:你可以参照 HTML Applet 标签来更多的了解从 HTML 中调用 applet 的方法。

    标签的属性指定了要运行的 Applet 类。width 和 height 用来指定 Applet 运行面板的初始大小。Applet 必须使用 标签来关闭。

    如果 Applet 接受参数,那么参数的值需要在 标签里添加,该标签位于 和 之间。浏览器忽略了 applet 标签之间的文本和其他标签。

    不支持 Java 的浏览器不能执行 和 。因此,在标签之间显示并且和 applet 没有关系的任何东西,在不支持的 Java 的浏览器里是可见的。

    Viewer 或者浏览器在文档的位置寻找编译过的 Java 代码,要指定文档的路径,得使用 标签的 codebase 属性指定。

    如下所示:

    如果 Applet 所在一个包中而不是默认包,那么所在的包必须在 code 属性里指定,例如:

    获得applet参数

    下面的例子演示了如何使用一个 Applet 响应来设置文件中指定的参数。该 Applet 显示了一个黑色棋盘图案和第二种颜色。

    第二种颜色和每一列的大小通过文档中的 Applet 的参数指定。

    CheckerApplet 在 init() 方法里得到它的参数。也可以在 paint() 方法里得到它的参数。然而,在 Applet 开始得到值并保存了设置,而不是每一次刷新的时候都得到值,这样是很方便,并且高效的。

    Applet viewer 或者浏览器在 Applet 每次运行的时候调用 init() 方法。在加载 Applet 之后,Viewer 立即调用 init() 方法(Applet.init()什么也没做),重写该方法的默认实现,添加一些自定义的初始化代码。

    Applet.getParameter() 方法通过给出参数名称得到参数值。如果得到的值是数字或者其他非字符数据,那么必须解析为字符串类型。

    下例是 CheckerApplet.java 的修改:

    CheckerApplet.java 文件代码:

    import java.applet.*;import java.awt.*;public class CheckerApplet extendsApplet

    {int squareSize = 50;//初始化默认大小

    public voidinit () {}private voidparseSquareSize (String param) {}privateColor parseColor (String param) {}public voidpaint (Graphics g) {}

    }

    下面是 CheckerApplet 类的 init() 方法和私有的 parseSquareSize() 方法:

    public voidinit ()

    {

    String squareSizeParam= getParameter ("squareSize");

    parseSquareSize (squareSizeParam);

    String colorParam= getParameter ("color");

    Color fg=parseColor (colorParam);

    setBackground (Color.black);

    setForeground (fg);

    }private voidparseSquareSize (String param)

    {if (param == null) return;try{

    squareSize=Integer.parseInt (param);

    }catch(Exception e) {//保留默认值

    }

    }

    该 Applet 调用 parseSquareSize(),来解析 squareSize 参数。parseSquareSize() 调用了库方法 Integer. parseInt() 该方法将一个字符串解析为一个整数,当参数无效的时候,Integer.parseInt() 抛出异常。

    因此,parseSquareSize() 方法也是捕获异常的,并不允许 Applet 接受无效的输入。

    Applet 调用 parseColor()方法将颜色参数解析为一个 Color 值。parseColor() 方法做了一系列字符串的比较,来匹配参数的值和预定义颜色的名字。你需要实现这些方法来使 Applet 工作。

    指定 applet 参数

    如下的例子是一个HTML文件,其中嵌入了 CheckerApplet 类。HTML文件通过使用 标签的方法给 applet 指定了两个参数。

    public voidinit ()

    {

    String squareSizeParam= getParameter ("squareSize");

    parseSquareSize (squareSizeParam);

    String colorParam= getParameter ("color");

    Color fg=parseColor (colorParam);

    setBackground (Color.black);

    setForeground (fg);

    }private voidparseSquareSize (String param)

    {if (param == null) return;try{

    squareSize=Integer.parseInt (param);

    }catch(Exception e) {//保留默认值

    }

    }

    注意:参数名字大小写不敏感。

    应用程序转换成 Applet

    将图形化的 Java 应用程序(是指,使用AWT的应用程序和使用 java 程序启动器启动的程序)转换成嵌入在web页面里的applet是很简单的。

    下面是将应用程序转换成 Applet 的几个步骤:

    编写一个 HTML 页面,该页面带有能加载 applet 代码的标签。

    编写一个 JApplet 类的子类,将该类设置为 public。否则,Applet 不能被加载。

    消除应用程序的 main()方法。不要为应用程序构造框架窗口,因为你的应用程序要显示在浏览器中。

    将应用程序中框架窗口的构造方法里的初始化代码移到 Applet 的 init() 方法中,你不必显示的构造 Applet 对象,浏览器将通过调用 init() 方法来实例化一个对象。

    移除对 setSize() 方法的调用,对于 Applet 来讲,大小已经通过 HTML 文件里的 width 和 height 参数设定好了。

    移除对 setDefaultCloseOperation() 方法的调用。Applet 不能被关闭,它随着浏览器的退出而终止。

    如果应用程序调用了 setTitle() 方法,消除对该方法的调用。applet 不能有标题栏。(当然你可以给通过 html 的 title 标签给网页自身命名)

    不要调用 setVisible(true),Applet 是自动显示的。

    事件处理

    Applet 类从 Container 类继承了许多事件处理方法。Container 类定义了几个方法,例如:processKeyEvent() 和processMouseEvent(),用来处理特别类型的事件,还有一个捕获所有事件的方法叫做 processEvent。

    为了响应一个事件,Applet 必须重写合适的事件处理方法。

    ExampleEventHandling.java 文件代码:

    importjava.awt.event.MouseListener;importjava.awt.event.MouseEvent;importjava.applet.Applet;importjava.awt.Graphics;public class ExampleEventHandling extendsAppletimplementsMouseListener {

    StringBuffer strBuffer;public voidinit() {

    addMouseListener(this);

    strBuffer= newStringBuffer();

    addItem("initializing the apple ");

    }public voidstart() {

    addItem("starting the applet ");

    }public voidstop() {

    addItem("stopping the applet ");

    }public voiddestroy() {

    addItem("unloading the applet");

    }voidaddItem(String word) {

    System.out.println(word);

    strBuffer.append(word);

    repaint();

    }public voidpaint(Graphics g) {//Draw a Rectangle around the applet's display area.

    g.drawRect(0, 0,

    getWidth()- 1,

    getHeight()- 1);//display the string inside the rectangle.

    g.drawString(strBuffer.toString(), 10, 20);

    }public voidmouseEntered(MouseEvent event) {

    }public voidmouseExited(MouseEvent event) {

    }public voidmousePressed(MouseEvent event) {

    }public voidmouseReleased(MouseEvent event) {

    }public voidmouseClicked(MouseEvent event) {

    addItem("mouse clicked! ");

    }

    }

    如下调用该 Applet:

    Event Handling

    最开始运行,Applet 显示 "initializing the applet. Starting the applet.",然后你一点击矩形框,就会显示 "mouse clicked" 。

    显示图片

    Applet 能显示 GIF,JPEG,BMP 等其他格式的图片。为了在 Applet 中显示图片,你需要使用 java.awt.Graphics 类的drawImage()方法。

    如下实例演示了显示图片的所有步骤:

    ImageDemo.java 文件代码:

    import java.applet.*;import java.awt.*;import java.net.*;public class ImageDemo extendsApplet

    {privateImage image;privateAppletContext context;public voidinit()

    {

    context= this.getAppletContext();

    String imageURL= this.getParameter("image");if(imageURL == null)

    {

    imageURL= "java.jpg";

    }try{

    URL url= new URL(this.getDocumentBase(), imageURL);

    image=context.getImage(url);

    }catch(MalformedURLException e)

    {

    e.printStackTrace();//Display in browser status bar

    context.showStatus("Could not load image!");

    }

    }public voidpaint(Graphics g)

    {

    context.showStatus("Displaying image");

    g.drawImage(image,0, 0, 200, 84, null);

    g.drawString("www.javalicense.com", 35, 100);

    }

    }

    如下调用该applet:

    The ImageDemo applet

    播放音频

    Applet 能通过使用 java.applet 包中的 AudioClip 接口播放音频。AudioClip 接口定义了三个方法:

    public void play(): 从一开始播放音频片段一次。

    public void loop():循环播放音频片段

    public void stop():停止播放音频片段

    为了得到 AudioClip 对象,你必须调用 Applet 类的 getAudioClip() 方法。无论 URL 指向的是否是一个真实的音频文件,该方法都会立即返回结果。

    直到要播放音频文件时,该文件才会下载下来。

    如下实例演示了播放音频的所有步骤:

    AudioDemo.java 文件代码:

    import java.applet.*;import java.awt.*;import java.net.*;public class AudioDemo extendsApplet

    {privateAudioClip clip;privateAppletContext context;public voidinit()

    {

    context= this.getAppletContext();

    String audioURL= this.getParameter("audio");if(audioURL == null)

    {

    audioURL= "default.au";

    }try{

    URL url= new URL(this.getDocumentBase(), audioURL);

    clip=context.getAudioClip(url);

    }catch(MalformedURLException e)

    {

    e.printStackTrace();

    context.showStatus("Could not load audio file!");

    }

    }public voidstart()

    {if(clip != null)

    {

    clip.loop();

    }

    }public voidstop()

    {if(clip != null)

    {

    clip.stop();

    }

    }

    }

    如下调用applet:

    The ImageDemo applet

    你可以使用你电脑上的 test.wav 来测试上面的实例。

    展开全文
  • javaapplet

    2008-05-23 13:12:00
    内容提要:[开发JavaApplet的工具] [编写第一个程序] [编译与看结果] [JavaApplet的解释] [与C语言的关系]一 第一个例子前的准备活动:1.要有一个Java编译器,可以是SUN公司的JDK编译器,也可以是微软的VJ++,也...
  • Java Applet 小程序是嵌入在网页中,在网页浏览器中运行的,因此,HTML专门有启动Java Applet 小程序的语句。标准的应用语句启动Java Applet 小程序的HTML文档格式为:启动Java Applet 小程序Codebase = '.' //回到...
  • Java最初奉献给世人的就是Java Applet,随即它吸引了全世界的目光,Java Applet运行于浏览器上,可以生成生动美丽的页面,进行友好的人机交互,同时还能处理图像、声音、动画等多媒体数据。Java AppletJava的成长...
  • Java Applet编程总结写作日期:2005年5月一、Java Applet的运行原理和生命周期1.Applet被嵌入到HTML页面中,并由applet的容器(appletviewer或者Web浏览器)执行.2.Applet的运行由浏览器控制,不由A...
  • 我遇到了一个我已部署的Java applet的问题,它拒绝缓存在jvm的“粘性”缓存(或浏览器)中.出于某种原因,每次用户加载该applet所在的页面时,jvm都会从服务器重新下载jar文件,这会导致长时间的延迟.包含applet的网页正在...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 11,380
精华内容 4,552
关键字:

javaapplet

java 订阅