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等方法。
總結
以上是生活随笔為你收集整理的java applet.newaudioclip_Java Applet的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: delphi 7无法运行提示 Borla
- 下一篇: Alien Skin Exposure