Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Industrial programming >> java

Java Applet Dijelaskan: Dasar-dasar & Perbedaan Utama

Sebuah applet adalah program Java yang berjalan di dalam browser web. Sebuah applet dapat menjadi aplikasi Java yang berfungsi sepenuhnya karena memiliki seluruh API Java yang tersedia.

Ada beberapa perbedaan penting antara applet dan aplikasi Java mandiri, termasuk yang berikut −

Siklus Hidup Applet

Empat metode dalam kelas Applet memberikan kerangka kerja di mana Anda membangun applet serius −

Applet "Hello, World"

Berikut adalah applet sederhana bernama HelloWorldApplet.java −

 import java.applet.*; import java.awt.*; public class HelloWorldApplet extends Applet { public void paint (Graphics g) { g.drawString ("Hello World", 25, 50); } } 

Pernyataan impor ini membawa kelas ke dalam cakupan kelas applet kami −

Tanpa pernyataan impor tersebut, compiler Java tidak akan mengenali kelas Applet dan Graphics, yang dirujuk oleh kelas applet.

Kelas Applet

Setiap applet adalah perluasan dari kelas java.applet.Applet. Kelas Applet dasar menyediakan metode yang dapat dipanggil oleh kelas Applet turunan untuk mendapatkan informasi dan layanan dari konteks browser.

Ini termasuk metode yang melakukan hal berikut −

Selain itu, kelas Applet menyediakan antarmuka melalui mana penampil atau browser mendapatkan informasi tentang applet dan mengontrol eksekusi applet. Penampil dapat −

Kelas Applet menyediakan implementasi default dari masing-masing metode ini. Implementasi tersebut dapat diganti sesuai kebutuhan.

Applet "Hello, World" sudah lengkap sebagaimana adanya. Satu-satunya metode yang diganti adalah metode paint.

Memanggil Applet

Sebuah applet dapat dipanggil dengan menyematkan direktif dalam file HTML dan melihat file melalui penampil applet atau browser yang mendukung Java.

Tag <applet> adalah dasar untuk menyematkan applet dalam file HTML. Berikut adalah contoh yang memanggil applet "Hello, World" −

 <html> <title>The Hello, World Applet</title> <hr> <applet code = "HelloWorldApplet.class" width = "320" height = "120"> Jika browser Anda mendukung Java, pesan "Hello, World" akan muncul di sini. </applet> <hr> </html> 

Catatan − Anda dapat merujuk ke Tag Applet HTML untuk mempelajari lebih lanjut tentang memanggil applet dari HTML.

Atribut code dari tag <applet> diperlukan. Ini menentukan kelas Applet yang akan dijalankan. Lebar dan tinggi juga diperlukan untuk menentukan ukuran awal panel tempat applet berjalan. Direktif applet harus ditutup dengan tag </applet>.

Jika applet mengambil parameter, nilai dapat diteruskan untuk parameter dengan menambahkan tag <param> di antara <applet> dan </applet>. Browser mengabaikan teks dan tag lain di antara tag applet.

Browser yang tidak mendukung Java tidak memproses <applet> dan </applet>. Oleh karena itu, apa pun yang muncul di antara tag yang tidak terkait dengan applet, terlihat di browser yang tidak mendukung Java.

Penampil atau browser mencari kode Java yang telah dikompilasi di lokasi dokumen. Untuk menentukan hal lain, gunakan atribut codebase dari tag <applet> seperti yang ditunjukkan −

 <applet codebase = "https://amrood.com/applets" code = "HelloWorldApplet.class" width = "320" height = "120"> 

Jika applet berada dalam paket selain default, paket yang memuatnya harus ditentukan dalam atribut code menggunakan karakter titik (.) untuk memisahkan komponen paket/kelas. Misalnya −

 <applet = "mypackage.subpackage.TestApplet.class" width = "320" height = "120"> 

Mendapatkan Parameter Applet

Contoh berikut menunjukkan cara membuat applet merespons parameter penyiapan yang ditentukan dalam dokumen. Applet ini menampilkan pola papan catur hitam dan waris kedua.

Warna kedua dan ukuran setiap persegi dapat ditentukan sebagai parameter untuk applet dalam dokumen.

CheckerApplet mendapatkan parameter-nya dalam metode init(). Ini juga dapat mendapatkan parameter-nya dalam metode paint(). Namun, mendapatkan nilai dan menyimpan pengaturan sekali pada awal applet, alih-alih pada setiap refresh, lebih nyaman dan efisien.

Penampil applet atau browser memanggil metode init() dari setiap applet yang dijalankan. Penampil memanggil init() sekali, segera setelah memuat applet. (Applet.init() diimplementasi untuk tidak melakukan apa-apa.) Ganti implementasi default untuk menyisipkan kode inisialisasi khusus.

Metode Applet.getParameter() mengambil parameter dengan nama parameter (nilai parameter selalu berupa string). Jika nilai numerik atau data non-karakter lain, string harus diurai.

Berikut adalah kerangka CheckerApplet.java −

 import java.applet.*; import java.awt.*; public class CheckerApplet extends Applet { int squareSize = 50; // initialized to default size public void init() {} private void parseSquareSize (String param) {} private Color parseColor (String param) {} public void paint (Graphics g) {} } 

Berikut adalah metode init() dan parseSquareSize() pribadi CheckerApplet −

 public void init () { String squareSizeParam = getParameter ("squareSize"); parseSquareSize (squareSizeParam); String colorParam = getParameter ("color"); Color fg = parseColor (colorParam); setBackground (Color.black); setForeground (fg); } private void parseSquareSize (String param) { if (param == null) return; try { squareSize = Integer.parseInt (param); } catch (Exception e) { // Let default value remain } } 

Applet memanggil parseSquareSize() untuk mengurai parameter squareSize. parseSquareSize() memanggil metode perpustakaan Integer.parseInt(), yang mengurai string dan mengembalikan integer. Integer.parseInt() melempar pengecualian setiap kali argumennya tidak valid.

Oleh karena itu, parseSquareSize() menangkap pengecualian, alih-alih membiarkan applet gagal pada input yang buruk.

Applet memanggil parseColor() untuk mengurai parameter color menjadi nilai Color. parseColor() melakukan serangkaian perbandingan string untuk mencocokkan nilai parameter dengan nama warna yang telah ditentukan. Anda perlu mengimplementasikan metode ini untuk membuat applet ini berfungsi.

Menentukan Parameter Applet

Berikut adalah contoh file HTML dengan CheckerApplet yang disematkan di dalamnya. File HTML menentukan kedua parameter untuk applet melalui tag <param>.

 <html> <title>Checkerboard Applet</title> <hr> <applet code = "CheckerApplet.class" width = "480" height = "320"> <param name = "color" value = "blue"> <param name = "squaresize" value = "30"> </applet> <hr> </html> 

Catatan − Nama parameter tidak peka huruf besar-kecil.

Konversi Aplikasi ke Applet

Mudah untuk mengonversi aplikasi Java grafis (yaitu, aplikasi yang menggunakan AWT dan dapat Anda jalankan dengan peluncur program Java) menjadi applet yang dapat Anda sematkan di halaman web.

Berikut adalah langkah-langkah spesifik untuk mengonversi aplikasi menjadi applet.

Penanganan Peristiwa

Applet mewarisi sekelompok metode penanganan peristiwa dari kelas Container. Kelas Container mendefinisikan beberapa metode, seperti processKeyEvent dan processMouseEvent, untuk menangani jenis peristiwa tertentu, dan kemudian satu metode catch-all yang disebut processEvent.

Untuk bereaksi terhadap peristiwa, sebuah applet harus mengganti metode khusus peristiwa yang sesuai.

 import java.awt.event.MouseListener; import java.awt.event.MouseEvent; import java.applet.Applet; import java.awt.Graphics; public class ExampleEventHandling extends Applet implements MouseListener { StringBuffer strBuffer; public void init() { addMouseListener(this); strBuffer = new StringBuffer(); addItem("initializing the apple "); } public void start() { addItem("starting the applet "); } public void stop() { addItem("stopping the applet "); } public void destroy() { addItem("unloading the applet"); } void addItem(String word) { System.out.println(word); strBuffer.append(word); repaint(); } public void paint(Graphics g) { // Draw a Rectangle around the applet's display area. g.drawRect(0, 0, getWidth() - 1, getHeight() - 1); // display the string inside the rectangle. g.drawString(strBuffer.toString(), 10, 20); } public void mouseEntered(MouseEvent event) { } public void mouseExited(MouseEvent event) { } public void mousePressed(MouseEvent event) { } public void mouseReleased(MouseEvent event) { } public void mouseClicked(MouseEvent event) { addItem("mouse clicked! "); } } 

Sekarang, mari kita panggil applet ini sebagai berikut −

 <html> <title>Event Handling</title> <hr> <applet code = "ExampleEventHandling.class" width = "300" height = "300"> </applet> <hr> </html> 

Awalnya, applet akan menampilkan "initializing the applet. Starting the applet." Kemudian setelah Anda klik di dalam persegi panjang, "mouse clicked" juga akan ditampilkan.

Menampilkan Gambar

Sebuah applet dapat menampilkan gambar dengan format GIF, JPEG, BMP, dan lainnya. Untuk menampilkan gambar dalam applet, Anda menggunakan metode drawImage() yang ditemukan dalam kelas java.awt.Graphics.

Berikut adalah contoh yang menggambarkan semua langkah untuk menampilkan gambar −

 import java.applet.*; import java.awt.*; import java.net.*; public class ImageDemo extends Applet { private Image image; private AppletContext context; public void init() { context = this.getAppletContext(); String imageURL = this.getParameter("image"); if(imageURL == null) { imageURL = "java.jpg"; } try { URL url = new URL(this.getDocumentBase(), imageURL); image = context.getImage(url); } catch (MalformedURLException e) { e.printStackTrace(); // Display in browser status bar context.showStatus("Could not load image!"); } } public void paint(Graphics g) { context.showStatus("Displaying image"); g.drawImage(image, 0, 0, 200, 84, null); g.drawString("www.javalicense.com", 35, 100); } } 

Sekarang, mari kita panggil applet ini sebagai berikut −

 <html> <title>The ImageDemo applet</title> <hr> <applet code = "ImageDemo.class" width = "300" height = "200"> <param name = "image" value = "java.jpg"> </applet> <hr> </html> 

Memutar Audio

Sebuah applet dapat memutar file audio yang diwakili oleh antarmuka AudioClip dalam paket java.applet. Antarmuka AudioClip memiliki tiga metode, termasuk −

Untuk mendapatkan objek AudioClip, Anda harus memanggil metode getAudioClip() dari kelas Applet. Metode getAudioClip() mengembalikan segera, terlepas dari apakah URL menyelesaikan ke file audio yang sebenarnya. File audio tidak diunduh sampai upaya dilakukan untuk memutar klip audio.

Berikut adalah contoh yang menggambarkan semua langkah untuk memutar audio −

 import java.applet.*; import java.awt.*; import java.net.*; public class AudioDemo extends Applet { private AudioClip clip; private AppletContext context; public void init() { context = this.getAppletContext(); String audioURL = this.getParameter("audio"); if(audioURL == null) { audioURL = "default.au"; } try { URL url = new URL(this.getDocumentBase(), audioURL); clip = context.getAudioClip(url); } catch (MalformedURLException e) { e.printStackTrace(); context.showStatus("Could not load audio file!"); } } public void start() { if(clip != null) { clip.loop(); } } public void stop() { if(clip != null) { clip.stop(); } } } 

Sekarang, mari kita panggil applet ini sebagai berikut −

 <html> <title>The ImageDemo applet</title> <hr> <applet code = "ImageDemo.class" width = "0" height = "0"> <param name = "audio" value = "test.wav"> </applet> <hr> </html> 

Anda dapat menggunakan test.wav pada PC Anda untuk menguji contoh di atas.


java

  1. Menguasai Operator Java: Tipe, Sintaks, & Contoh Praktis
  2. Komentar Java: Tipe, Penggunaan, dan Best Practices
  3. Menguasai Java Enhanced For Loop: Sintaks, Contoh, dan Best Practices
  4. Menguasai String Java: Pembuatan, Metode, dan Best Practices
  5. Menguasai Antarmuka Java: Konsep, Implementasi, dan Praktik Terbaik
  6. Menguasai Kelas Dalam Anonim Java: Definisi, Sintaks, dan Contoh Praktis
  7. Menguasai Java Try-with-Resources: Manajemen Sumber Daya Otomatis Dijelaskan
  8. Anotasi Java Dijelaskan: Jenis, Penempatan, dan Contoh Praktis
  9. Pernyataan Java: Panduan Praktis untuk Mendeteksi Bug dan Memastikan Keandalan Kode
  10. Memahami Java Vector: Penggunaan, Fitur, dan Perbandingan dengan ArrayList