java applet.newaudioclip_Java Applet
目錄
Java Applet 結(jié)構(gòu)
Java Applet 的運行原理
一個Java Applet 程序的執(zhí)行過程稱為這個 Java Applet 的生命周期。
(1) 初始化: init()
(2) 啟動 : start()
(3)停止:stop()
(4) 刪除 : destroy()
(5) 描繪 : paint(Graphics g)
在Java Applet 中播放聲音
網(wǎng)頁傳值
小結(jié):
Java Applet程序(也稱Java小程序),是Java語言中的一種特殊的嵌入式程序,有瀏覽器中內(nèi)置的JVM執(zhí)行。
Java Applet 結(jié)構(gòu)
一個Java Applet 程序中必須有一個類是Applet 類的子類,該子類稱作Java Applet 程序的主類,必須修飾為 public 的。Applet 類是 java.applet 包中的一個類。同時還是 java.awt 包中Container ( 容器類),因此一個 Java Applet 程序主類的實例是一個容器,用戶可以在容器內(nèi)添加組件,處理組件事件,完成工作。
Java Applet 的運行原理
Java Applet 通過瀏覽器來執(zhí)行,和 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("程序設(shè)計方法",20,60);
g.setColor(Color.red);
g.drawString("sum=" + sum,20,100);
}
}
一個 Java Applet? 程序,也是由若干個類組成,但必須有一個類是Applet 類的子類,Applet 類是系統(tǒng)提供的,把這個類(也就是Applet 類的子類)稱為Applet 類的主類。主類必須用public 修飾。一個Java Applet 程序,不再需要main方法,但必須有一類擴展了Applet 類。保存上面源文件。命名 Example.java.
2.編譯 javac Example.java
3.運行
Java Applet 屬于嵌入是開發(fā)的一種,嵌入式主類的實例化由該嵌入程序的平臺的JVM負責。這樣,必須向這樣的平臺提供相應的配置文件,嵌入該平臺使用的配置文件,通知平臺JVM創(chuàng)建主類的對象,并讓該對象產(chǎn)生相應的行為
Java Applet 必須嵌入到Web 瀏覽器中去,因此,必須編寫一個超文本文件,即配置文件,告訴瀏覽器運行這個 Java Applet.
show.html
超文本中的標記 告訴瀏覽器運行一個 Java Applet 程序,code 告訴我們運行那個程序。后面是.class 字節(jié)碼文件。
一個Java Applet 程序的執(zhí)行過程稱為這個 Java Applet 的生命周期。
Java Applet 程序的生命周期涉及 init()、start()、stop()、destroy() 和 paint(Graphics g) 方法,這些方法是一個完整的 Java Applet 程序所包含的。
瀏覽器解釋執(zhí)行show.html 時。如果發(fā)現(xiàn)有 applet 標記,瀏覽器內(nèi)置的 JVM 將使用 主類創(chuàng)建一個對象,該對象是容器,他的大小由 show.html 中的 width 和 heigth 決定。
習慣上把瀏覽器內(nèi)置 JVM 創(chuàng)建一個主類對象,稱為一個applet 。applet 具有以下行為
(1) 初始化: init()
applet 首先自動調(diào)用 init() 完成必要的初始化工作,主要任務(wù)創(chuàng)建所需要的其他對象,設(shè)置初始狀態(tài),裝載圖像,設(shè)置參數(shù)。此方法只被調(diào)用一次。該方法是父類Applet 中的方法。Example.java 重寫了此方法。
(2) 啟動 : start()
初始化后,自動調(diào)用次方法,可以被多次調(diào)用。
(3)停止:stop()
當瀏覽器離開applet 所在的頁面時,applet 調(diào)用 stop(),如果再次回到此頁,applet 將再次調(diào)用strat(),離開再次調(diào)用stop() stop()也可以多次調(diào)用。
(4) 刪除 : destroy()
當瀏覽器結(jié)束瀏覽時,applet 執(zhí)行destry() 方法,結(jié)束applet 的生命。
(5) 描繪 : paint(Graphics g)
此方法可以使一個 applet 在屏幕上顯示某些信息,例如文字、色彩、背景、圖像,在applet 的生命周期中可以多次調(diào)用paint 方法。
在調(diào)用 Java 程序時,可以使用瀏覽器打開show.html.如果瀏覽器不支持applet (沒有內(nèi)置JVM),可以使用JDK提供的appletviewer調(diào)試 Java Applet.
文件所在目錄地址> appletviewer show.html
Java Applet 增強了B/S模式的功能。C/S 模式中的客戶端使用應用程序和服務(wù)器交互信息,優(yōu)點為客戶提供工更多的功能,缺點不利于系統(tǒng)的維護。B/S 模式中的客戶端使用瀏覽器和服務(wù)器交互信息,不能各位客戶端提供較多的功能,優(yōu)點便于系統(tǒng)的維護。通過一個瀏覽器器訪問一個含有aoolket 標記的網(wǎng)頁,下載執(zhí)行一個 Java Applet 。何以很好彌補B/S 模式的不足。
在Java Applet 中播放聲音
用Java 可以播放 au、aiff、wav、midi、rfm格式的音頻。au.格式是早期唯一支持的音頻格式。為了播放音頻首先要創(chuàng)建一個AuidoClip 對象。java.applet包中的類,可以使用Applet 類的一個靜態(tài)方法 :newAudioClip(java.net.URL)或者Applet 類的實例方法getAudioClip(Url url,String name)
根據(jù) url 提供的地址,以及處理該處的聲音文件nam,獲得一個用于播放音頻的對象。這個對象使用一下方法來處理聲音文件:
play() :? 播放聲音文件loop() : 循環(huán)播放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("循環(huán)播放");
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();
}
}
}
網(wǎng)頁傳值
用戶可以通過若干個 標志把值傳入Java Applet 中去,這樣實現(xiàn)了動態(tài)地向 Java Applet 程序傳遞信息,而不必重新編譯,便于Java Applet 的維護和使用。
下面通過 Html 向Java Applet 傳遞兩個整數(shù)。
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
小結(jié):
在 Java Applet 程序中必須有一個 public 類 是 Applet 類的子類,稱為 Java Applet 類的主類。Java Applet 必須嵌入到瀏覽器中運行。瀏覽器內(nèi)置的 JVM 用 Java Applet 程序的主類創(chuàng)建對象,該對象稱為一個 applet。一個applet 在他的生命周期內(nèi)要調(diào)用init、start、stop、paint、和destroy等方法。
總結(jié)
以上是生活随笔為你收集整理的java applet.newaudioclip_Java Applet的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: delphi 7无法运行提示 Borla
- 下一篇: 【Java基础】网络编程-计算机网络基本