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
   60   61   62   63   64   65   66   67   68   69   70