Putar tayangan slide dan animasi
Gunakan contoh untuk mengilustrasikan cara memutar slide dan animasi.
[Contoh] Aplikasi kecil pertama-tama membaca slide ke dalam array dan menyimpannya, lalu mengklik mouse untuk mengubah slide dan menampilkannya satu per satu.
import java.applet.*import java.awt.*;import java.awt.event.*;public class Contoh7_7 extends Applet mengimplementasikan MouseListener{ final int number = 50; //Asumsikan ada 50 slide int count = 0; ] kartu = Gambar baru[angka]; public void init(){ addMouseListener(ini); untuk (int i = 0; i < angka; i++){ kartu[i] = getImage(getCodeBase(), "DSC0033" + i + ".jpg"); } public void paint(Grafik g){ if ((kartu[hitungan]) != null) g.drawImage(kartu[hitungan], 10 , 10, kartu[hitungan].getWidth(ini),kartu[hitungan].getHeitht(ini), ini } public void mousePressed(MouseEvent e){ count = (count + 1) % angka; //Mengulang dan menampilkan repaint(); } public void mouseRelease(MouseEvent e){} public void mouseEntered(MouseEvent e){} public void mouseExited(Mouse Event e){} public void mouseClicked(MouseEvent e){}}
[Contoh] Applet menjelaskan cara memainkan animasi. Hal ini memerlukan gambar untuk diputar dan applet ditempatkan di direktori yang sama. Program ini menciptakan efek menampilkan animasi dengan menampilkan sekelompok gambar dengan cepat. Aplikasi kecil ini menggunakan utas untuk mengontrol tampilan gambar animasi satu per satu.
import java.applet.*;import java.awt.*;import java.awt.event.*;public class Contoh7_8 extends Applet mengimplementasikan Runnable{ final int number = 50; Thread mythread; Gambar baru[angka]; public void init(){ setSize(300, 200); untuk (int i = 0; i <= angka; i++){ //Muat gambar animasi pic[i - 1] = getImage(getCodeBase(), "DSC0033" + i + ".jpg"); //Buat A thread mythread.start(); //Mulai eksekusi thread} public void stop(){ mythread = null; } public void run(){ //Kode eksekusi thread while (true){ repaint(); = (hitungan + 1) % angka; //Ubah nomor gambar yang ditampilkan coba{ mhythread.sleep(200); catch (InterruptedExeception e){} } } public void paint(Grafik g){ if ((gambar[hitungan] != null) g.drawImage(gambar[hitungan], 10, 10, gambar[hitungan].getwidth(ini), gambar[hitungan].getTinggi(ini), ini); }}
memutar suara
Ada banyak format audio dalam bahasa Java dasar lama: au, aiff, wav, midi, rfm, dll. Untuk memutar file audio dalam applet, Anda bisa menggunakan kelas AudioClip, yang didefinisikan di perpustakaan kelas java.applet.AudioClip. Applet pertama-tama membuat objek AudioClip dan menginisialisasinya menggunakan metode getAudioClip(). Bentuk kodenya seperti berikut:
AudioClip audioClip = getAudioClip(getCodeBase(),"myAudioClipFile.au");
Jika Anda ingin mendapatkan file audio dari Internet, Anda dapat menggunakan metode getAudioClip(URL url, String name) untuk mendapatkan objek audio yang dapat diputar berdasarkan alamat URL dan nama file audio.
Ada tiga metode untuk mengontrol pemutaran suara: play() untuk memutar suara, loop() untuk mengulang pemutaran, dan stop() untuk menghentikan pemutaran.
[Contoh] Aplikasi kecil yang dapat memutar suara.
import java.applet.*;import java.awt.*;import java.awt.event.*;public class Contoh7_9 extends Applet mengimplementasikan ActionListener{ Klip AudioClip; //Deklarasikan objek audio Button buttonPlay, buttonLoop, buttonStop; (){ clip = getAudioClip(getCodeBase(), "2.wav"); //Membuat objek audio berdasarkan file suara 2.wav di alamat program, //Metode getCodeBase() kelas Applet dapat memperoleh alamat URL halaman html tempat applet berada. buttonPlay = new Button("Mulai bermain"); buttonLoop = new Button("Loop play"); buttonStop = new Button("Berhenti bermain"); buttonPlay.addActionListener(ini); (ini); tambahkan(buttonPlay); tambahkan(buttonLoop); //Berhenti memutar ketika meninggalkan halaman ini} public void actionPerformed(ActionEvent e){ if (e.getSource() == buttonPlay){ clip.play(); else if (e.getSource() == buttonLoob){ clip .loop(); } lain jika (e.getSource() == buttonStop){ klip.stop();
[Contoh] Jika file suara besar atau kecepatan jaringan lambat, ini akan mempengaruhi inisialisasi program mini. Hal ini dapat diatasi dengan teknologi multi-threading. Pembuatan objek audio diselesaikan di thread tingkat rendah, yaitu file suara dimuat di latar belakang dan diputar di latar depan.
import java.applet.*;import java.awt.*;import java.awt.event.*;kelas publik Hanoi memperluas implementasi applet Runnable, ActionListener{ Klip AudioClip; //Deklarasikan objek audio textField thread; , buttonLoop, buttonStop; public void init(){ thread = new Thread(ini); //Buat thread baru .setPriority(Thread.MIN_PRIORITY); buttonPlay = Tombol baru("Mulai memutar"); buttonLoop = Tombol baru("Putar berulang"); buttonStop = Tombol baru("Berhenti memutar"); .addActionListener(ini); buttonStop.addActionListener(ini); buttonLoop.addActionListener(ini); tambahkan(buttonLoop); tambahkan(buttonStop); tambahkan(teks); public void start(){ thread.start(); } public void stop(){ clip.stop(); if (e.getSource() == buttonPlay(){ clip.play(); } else if (e.getSource() == buttonLoop(){ clip.loop(); } else if (e.getSource() == buttonStop(){ clip.stop(); } } public void run(){ //Membuat klip objek audio di thread thread = getAudioclip(getCodeBase(), "2.wav"); text .setText("Harap tunggu"); if(klip ! = null){ buttonPlay.setBackground(Color.red); buttonLoop.setBackground(Color.green); text.setText("Anda dapat memutar"); } //Setelah mendapatkan objek audio, notifikasi dapat diputar}}