เล่นสไลด์โชว์และภาพเคลื่อนไหว
ใช้ตัวอย่างเพื่อแสดงวิธีการเล่นสไลด์และภาพเคลื่อนไหว
[ตัวอย่าง] ขั้นแรกแอปพลิเคชันขนาดเล็กจะอ่านสไลด์ลงในอาร์เรย์และจัดเก็บ จากนั้นคลิกเมาส์เพื่อเปลี่ยนสไลด์และแสดงทีละสไลด์
import java.applet.*import java.awt.*;import java.awt.event.*;คลาสสาธารณะ ตัวอย่าง 7_7 ขยาย Applet ใช้งาน MouseListener{ Final int number = 50; //สมมติว่ามี 50 สไลด์ int count = 0; ] การ์ด = รูปภาพใหม่ [หมายเลข]; โมฆะสาธารณะ init () { addMouseListener (สิ่งนี้); สำหรับ (int i = 0; i < number; i ++) { card [i] = getImage (getCodeBase (), "DSC0033" + i + ".jpg"); } } สีโมฆะสาธารณะ (กราฟิก g) { ถ้า ((การ์ด [นับ]) ! = null) g.drawImage (การ์ด [นับ] 10 , 10, การ์ด[นับ].getWidth(นี้),การ์ด[นับ].getHeitht(นี้), นี้); } โมฆะสาธารณะ mousePressed(MouseEvent e){ count = (count + 1) % number; //Loop และแสดงการทาสีใหม่(); } โมฆะสาธารณะ mouseRelease(MouseEvent e){} โมฆะสาธารณะ mouseEntered(MouseEvent e){} โมฆะสาธารณะ mouseExited(กิจกรรมเมาส์ e){} โมฆะสาธารณะ mouseClicked (MouseEvent e){}}
[ตัวอย่าง] แอปเพล็ตอธิบายวิธีการเล่นภาพเคลื่อนไหว โดยต้องเล่นรูปภาพและแอปเพล็ตต้องอยู่ในไดเร็กทอรีเดียวกัน โปรแกรมจะสร้างเอฟเฟ็กต์ของการแสดงภาพเคลื่อนไหวโดยการแสดงกลุ่มรูปภาพอย่างรวดเร็ว แอปพลิเคชั่นขนาดเล็กใช้เธรดเพื่อควบคุมการแสดงภาพเคลื่อนไหวทีละภาพ
import java.applet.*;import java.awt.*;import java.awt.event.*;คลาสสาธารณะ ตัวอย่าง7_8 ขยาย Applet ใช้งาน Runnable{ Final int number = 0; Thread mythread; รูปภาพใหม่ [หมายเลข]; โมฆะสาธารณะ init () { setSize (300, 200); สำหรับ (int i = 0; i <= number; i ++) { //โหลดภาพเคลื่อนไหว pic[i - 1] = getImage(getCodeBase(), "DSC0033" + i + ".jpg"); } } public void start(){ mythread = new Thread(this); //สร้าง A thread mythread.start(); //Start thread Execution} public void stop(){ mythread = null; } public void run(){ //โค้ดการรันเธรดในขณะที่ (true){ repaint(); = (นับ + 1) % จำนวน; // เปลี่ยนหมายเลขรูปภาพที่แสดง ลอง { mhythread.sleep (200); } catch (InterruptedExeception e){} } } public void paint (กราฟิก g) { if ((pic [count] != null) g.drawImage(pic[count], 10, 10, pic[count].getwidth(this), pic[count].getHeight(this), นี้); }}
เล่นเสียง
มีรูปแบบเสียงมากมายในภาษา Java ฐานเก่า: au, aiff, wav, midi, rfm ฯลฯ หากต้องการเล่นไฟล์เสียงในแอปเพล็ต คุณสามารถใช้คลาส AudioClip ซึ่งกำหนดไว้ในไลบรารีคลาส java.applet.AudioClip ขั้นแรกแอปเพล็ตจะสร้างออบเจ็กต์ AudioClip และเริ่มต้นโดยใช้เมธอด getAudioClip() แบบฟอร์มรหัสมีดังนี้:
AudioClip audioClip = getAudioClip(getCodeBase(),"myAudioClipFile.au");
หากคุณต้องการรับไฟล์เสียงจากอินเทอร์เน็ต คุณสามารถใช้เมธอด getAudioClip(URL url, String name) เพื่อรับออบเจ็กต์เสียงที่เล่นได้ตามที่อยู่ URL และชื่อไฟล์เสียง
มีสามวิธีในการควบคุมการเล่นเสียง: play() เพื่อเล่นเสียง, loop() เพื่อวนการเล่น และ stop() เพื่อหยุดการเล่น
[ตัวอย่าง] แอปพลิเคชั่นขนาดเล็กที่สามารถเล่นเสียงได้
นำเข้า java.applet.*; นำเข้า java.awt. *; นำเข้า java.awt.event. *; คลาสสาธารณะ ตัวอย่าง 7_9 ขยาย Applet ใช้งาน ActionListener { คลิป AudioClip; // ประกาศวัตถุเสียง ButtonPlay, buttonLoop, buttonStop; (){ clip = getAudioClip(getCodeBase(), "2.wav"); //สร้างวัตถุเสียงตามไฟล์เสียง 2.wav ตามที่อยู่ของโปรแกรม //เมธอด getCodeBase() ของคลาส Applet สามารถรับที่อยู่ URL ของหน้า html ที่แอปเพล็ตตั้งอยู่ buttonPlay = ปุ่มใหม่ ("เริ่มเล่น"); buttonStop.addActionListener (นี้); (นี่); เพิ่ม (buttonPlay); เพิ่ม (buttonStop); } หยุดสาธารณะ (){ clip.stop(); //หยุดเล่นเมื่อออกจากหน้านี้} public void actionPerformed(ActionEvent e){ if (e.getSource() == buttonPlay){ clip.play(); } else if (e.getSource() == buttonLoob){ clip .loop(); } อื่น ๆ ถ้า (e.getSource() == buttonStop){ clip.stop();
[ตัวอย่าง] หากไฟล์เสียงมีขนาดใหญ่หรือความเร็วเครือข่ายช้า จะส่งผลต่อการเริ่มต้นมินิโปรแกรม ซึ่งสามารถแก้ไขได้ด้วยเทคโนโลยีมัลติเธรด การสร้างออบเจ็กต์เสียงจะเสร็จสมบูรณ์ในเธรดระดับล่าง นั่นคือ ไฟล์เสียงจะถูกโหลดในพื้นหลังและเล่นในเบื้องหน้า
import java.applet.*;import java.awt.*;import java.awt.event.*;คลาสสาธารณะ ฮานอยขยายแอปเพล็ต Runnable, ActionListener { คลิปเสียง; // ประกาศข้อความออบเจ็กต์ textField เธรดปุ่ม; , buttonLoop, buttonStop; public void init(){ thread = new Thread(this); // สร้างเธรดใหม่ .setPriority(Thread.MIN_PRIORITY); buttonPlay = ปุ่มใหม่ ("เริ่มเล่น"); buttonLoop = ปุ่มใหม่ ("เล่นวนซ้ำ"); buttonStop = ปุ่มใหม่ ("หยุดเล่น"); .addActionListener (สิ่งนี้); buttonStop.addActionListener (สิ่งนี้); เพิ่ม (buttonLoop); เพิ่ม (ข้อความ); } โมฆะสาธารณะเริ่มต้น () { thread.start (); } หยุดสาธารณะเป็นโมฆะ () { clip.stop (); } if (e.getSource() == buttonPlay(){ clip.play(); } else if (e.getSource() == buttonLoop(){ clip.loop(); } else ถ้า (e.getSource() == buttonStop(){ clip.stop(); } } public void run(){ //สร้างคลิปวัตถุเสียงใน thread thread = getAudioclip(getCodeBase(), "2.wav"); text .setText("กรุณารอสักครู่"); if(clip ! = null){ buttonPlay.setBackground(Color.red); buttonLoop.setBackground(Color.green); text.setText("คุณสามารถเล่นได้"); } //หลังจากได้รับออบเจ็กต์เสียงแล้ว จะสามารถเล่นการแจ้งเตือนได้}}