Page 65 - การโปรแกรมคอมพิวเตอร์ขั้นสูง
P. 65
การเขียนโปรแกรมจ าวาแ อพเพล็ต 12-55
บรรทัดท ี่ 7 ประก าศออบเจ็กต์ AppletSoundList ชื่อ soundList
บรรทัดท ี่ 8 ประกาศตัวแปร URL ชื่อ baseURL สำ�หรับเก็บตำ�แหน่งท ี่อยู่ของไฟล์
บรรทัดท ี่ 9 ประกาศต ัวแปร String ชื่อ relativeURL สำ�หรับเก็บชื่อไฟล์
บรรทัดท ี่ 11-19 คอนส ตรคั เทอรข์ องค ลาส โดยส ง่ ค า่ พ ารามเิ ตอร์ 4 คา่ คอื applet, soundList, baseURL
และ relativeURL
บรรทัดที่ 13 กำ�หนดค ่าพ ารามิเตอร์ applet ให้ก ับออบเจ็กต์ applet
บรรทัดท ี่ 14 กำ�หนดค่าพ ารามิเตอร์ soundList ให้ก ับออบเจ็กต์ soundList
บรรทัดที่ 15 กำ�หนดค่าพ ารามิเตอร์ baseURL ให้ก ับตัวแปร baseURL
บรรทัดที่ 16 กำ�หนดค ่าพ ารามิเตอร์ relativeURL ให้กับต ัวแปร relativeURL
บรรทัดที่ 17 กำ�หนดค่าร ะดับความส ำ�คัญข อง Thread ด้วยค ่าตํ่าสุด
บรรทัดท ี่ 18 เริ่มต ้น Thread
บรรทัดท ี่ 21-24 เมธอด run ของ Thread
บรรทัดที่ 22 ส ร้างออบเจ็กต์ AudioClip ชื่อ audioClip มีค่าเท่ากับค่าที่คืนจากการเรียกใช้เมธอด
getAudioClip(baseURL, relativeURL) ของ applet
บรรทัดที่ 23 เรียกใช้เมธอด putClip (audioClip, relativeURL) ของ soundList
2) การสร้างโปรแกรม ซึ่งประกอบด้วยคลาสชื่อ AppletSoundList.java ทำ�หน้าที่โหลดและจัดเก็บไฟล์
เสียงต ามต ำ�แหน่งท ี่ร ะบุ ลงในตาร างแฮช (hash table) รายล ะเอียดเป็นด ังนี้
AppletSoundList.java
1 import javax.swing.*;
2 import java.applet.*;
3 import java.net.URL;
4
5 class AppletSoundList extends java.util.Hashtable {
6 JApplet applet;
7 URL baseURL;
8
9 public AppletSoundList(JApplet applet, URL baseURL) {
10 super(5);
11 this.applet = applet;
12 this.baseURL = baseURL;
13 }
14
15 public void startLoading(String relativeURL) {
16 new AppletSoundLoader(applet, this, baseURL, relativeURL);
17 }
18