java applet.newaudioclip_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

超文本中的标记 告诉浏览器运行一个 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();

}

}

}

网页传值

用户可以通过若干个 标志把值传入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

小结:

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值