java
Sebuah applet adalah program Java yang berjalan di browser Web. Sebuah applet dapat menjadi aplikasi Java yang berfungsi penuh karena memiliki seluruh Java API yang tersedia.
Ada beberapa perbedaan penting antara applet dan aplikasi Java mandiri, termasuk yang berikut −
Applet adalah kelas Java yang memperluas kelas java.applet.Applet.
Metode main() tidak dipanggil pada applet, dan kelas applet tidak akan mendefinisikan main().
Applet dirancang untuk disematkan dalam halaman HTML.
Saat pengguna melihat halaman HTML yang berisi applet, kode untuk applet diunduh ke mesin pengguna.
JVM diperlukan untuk melihat applet. JVM dapat berupa plug-in dari browser Web atau lingkungan runtime yang terpisah.
JVM pada mesin pengguna membuat instance kelas applet dan memanggil berbagai metode selama masa pakai applet.
Applet memiliki aturan keamanan yang ketat yang ditegakkan oleh browser Web. Keamanan sebuah applet sering disebut sebagai keamanan sandbox, membandingkan applet dengan seorang anak yang bermain di sandbox dengan berbagai aturan yang harus diikuti.
Kelas lain yang dibutuhkan applet dapat diunduh dalam satu file Java Archive (JAR).
Empat metode di kelas Applet memberi Anda kerangka kerja tempat Anda membangun applet serius apa pun −
ini Metode ini ditujukan untuk inisialisasi apa pun yang diperlukan untuk applet Anda. Ini dipanggil setelah tag param di dalam tag applet diproses.
mulai Metode ini secara otomatis dipanggil setelah browser memanggil metode init. Itu juga dipanggil setiap kali pengguna kembali ke halaman yang berisi applet setelah pergi ke halaman lain.
berhenti Metode ini secara otomatis dipanggil ketika pengguna keluar dari halaman tempat applet berada. Oleh karena itu, dapat dipanggil berulang kali dalam applet yang sama.
hancurkan Metode ini hanya dipanggil saat browser dimatikan secara normal. Karena applet dimaksudkan untuk hidup di halaman HTML, Anda biasanya tidak boleh meninggalkan sumber daya setelah pengguna meninggalkan halaman yang berisi applet.
melukis Dipanggil segera setelah metode start(), dan juga setiap kali applet perlu mengecat ulang dirinya sendiri di browser. Metode paint() sebenarnya diwarisi dari java.awt.
Berikut ini 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 lingkup kelas applet kami −
Tanpa pernyataan impor tersebut, kompiler Java tidak akan mengenali kelas Applet dan Grafik, yang dirujuk oleh kelas applet.
Setiap applet adalah perpanjangan dari kelas java.applet.Applet . Kelas Applet dasar menyediakan metode yang dapat dipanggil oleh kelas Applet turunan untuk memperoleh informasi dan layanan dari konteks browser.
Ini termasuk metode yang melakukan hal berikut −
Selain itu, kelas Applet menyediakan antarmuka di mana penampil atau browser memperoleh informasi tentang applet dan mengontrol eksekusi applet. Penonton dapat −
Kelas Applet menyediakan implementasi default dari masing-masing metode ini. Implementasi tersebut dapat diganti sesuai kebutuhan.
Applet "Halo, Dunia" selesai sebagaimana adanya. Satu-satunya metode yang diganti adalah metode paint.
Sebuah applet dapat dipanggil dengan menyematkan arahan dalam file HTML dan melihat file tersebut melalui penampil applet atau browser yang mendukung Java.
Tag
<html> <title>The Hello, World Applet</title> <hr> <applet code = "HelloWorldApplet.class" width = "320" height = "120"> If your browser was Java-enabled, a "Hello, World" message would appear here. </applet> <hr> </html>
Catatan Anda dapat merujuk ke Tag Applet HTML untuk memahami lebih lanjut tentang memanggil applet dari HTML.
Atribut kode dari tag .
Jika applet mengambil parameter, nilai dapat diteruskan untuk parameter dengan menambahkan tag antara . Browser mengabaikan teks dan tag lain di antara tag applet.
Browser yang tidak mendukung Java tidak memproses . Oleh karena itu, apa pun yang muncul di antara tag, yang tidak terkait dengan applet, akan terlihat di browser yang tidak mendukung Java.
Penampil atau browser mencari kode Java yang dikompilasi di lokasi dokumen. Untuk menentukan sebaliknya, gunakan atribut basis kode dari tag
<applet codebase = "https://amrood.com/applets" code = "HelloWorldApplet.class" width = "320" height = "120">
Jika applet berada dalam paket selain default, paket holding harus ditentukan dalam atribut kode menggunakan karakter periode (.) untuk memisahkan komponen paket/kelas. Misalnya
<applet = "mypackage.subpackage.TestApplet.class" width = "320" height = "120">
Contoh berikut menunjukkan cara membuat applet merespons parameter pengaturan yang ditentukan dalam dokumen. Applet ini menampilkan pola kotak-kotak hitam dan warna kedua.
Warna kedua dan ukuran setiap kotak dapat ditentukan sebagai parameter untuk applet di dalam dokumen.
CheckerApplet mendapatkan parameternya dalam metode init(). Mungkin juga mendapatkan parameternya dalam metode paint(). Namun, mendapatkan nilai dan menyimpan pengaturan sekali di awal applet, bukan di setiap penyegaran, akan lebih mudah dan efisien.
Penampil applet atau browser memanggil metode init() dari setiap applet yang dijalankannya. Penampil memanggil init() sekali, segera setelah memuat applet. (Applet.init() diimplementasikan untuk tidak melakukan apa-apa.) Ganti implementasi default untuk menyisipkan kode inisialisasi khusus.
Metode Applet.getParameter() mengambil parameter yang diberikan nama parameter (nilai parameter selalu berupa string). Jika nilainya numerik atau data non-karakter lainnya, string harus diurai.
Berikut ini 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 private parseSquareSize() 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 library Integer.parseInt(), yang mem-parsing string dan mengembalikan integer. Integer.parseInt() melempar pengecualian setiap kali argumennya tidak valid.
Oleh karena itu, parseSquareSize() menangkap pengecualian, daripada membiarkan applet gagal pada input yang buruk.
Applet memanggil parseColor() untuk mengurai parameter warna menjadi nilai Warna. parseColor() melakukan serangkaian perbandingan string untuk mencocokkan nilai parameter dengan nama warna yang telah ditentukan. Anda perlu menerapkan metode ini agar applet ini berfungsi.
Berikut ini adalah contoh file HTML dengan CheckerApplet yang tertanam di dalamnya. File HTML menentukan kedua parameter ke applet melalui tag .
<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.
Sangat mudah untuk mengonversi aplikasi Java grafis (yaitu, aplikasi yang menggunakan AWT dan yang dapat Anda mulai dengan peluncur program Java) menjadi applet yang dapat Anda sematkan di halaman web.
Berikut adalah langkah-langkah spesifik untuk mengonversi aplikasi ke applet.
Buat halaman HTML dengan tag yang sesuai untuk memuat kode applet.
Menyediakan subclass dari kelas JApplet. Jadikan kelas ini publik. Jika tidak, applet tidak dapat dimuat.
Hilangkan metode utama dalam aplikasi. Jangan membuat jendela bingkai untuk aplikasi. Aplikasi Anda akan ditampilkan di dalam browser.
Pindahkan kode inisialisasi apa pun dari konstruktor jendela bingkai ke metode init dari applet. Anda tidak perlu membuat objek applet secara eksplisit. Peramban membuat instance untuk Anda dan memanggil metode init.
Hapus panggilan ke setSize; untuk applet, ukuran dilakukan dengan parameter lebar dan tinggi dalam file HTML.
Hapus panggilan ke setDefaultCloseOperation. Sebuah applet tidak dapat ditutup; itu berakhir ketika browser keluar.
Jika aplikasi memanggil setTitle, hilangkan panggilan ke metode. Applet tidak boleh memiliki bilah judul. (Tentu saja Anda dapat memberi judul halaman web itu sendiri, menggunakan tag judul HTML.)
Jangan panggil setVisible(true). Applet ditampilkan secara otomatis.
Applet mewarisi sekelompok metode penanganan peristiwa dari kelas Container. Kelas Container mendefinisikan beberapa metode, seperti processKeyEvent dan processMouseEvent, untuk menangani jenis kejadian tertentu, dan kemudian satu metode catch-all yang disebut processEvent.
Untuk bereaksi terhadap suatu 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 sebut 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 "menginisialisasi applet. Memulai applet." Kemudian setelah Anda mengklik di dalam persegi panjang, "mouse clicked" akan ditampilkan juga.
Sebuah applet dapat menampilkan gambar dengan format GIF, JPEG, BMP, dan lain-lain. Untuk menampilkan gambar di dalam applet, Anda menggunakan metode drawImage() yang ditemukan di 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 sebut 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>
Sebuah applet dapat memutar file audio yang diwakili oleh antarmuka AudioClip dalam paket java.applet. Antarmuka AudioClip memiliki tiga metode, termasuk −
permainan batal publik() Memutar klip audio satu kali, dari awal.
loop kekosongan publik() Menyebabkan klip audio diputar ulang terus menerus.
penghentian kekosongan publik() Berhenti memutar klip audio.
Untuk mendapatkan objek AudioClip, Anda harus memanggil metode getAudioClip() dari kelas Applet. Metode getAudioClip() segera kembali, terlepas dari apakah URL tersebut menjadi file audio yang sebenarnya atau tidak. File audio tidak diunduh sampai ada upaya 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 sebut 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
Antarmuka Antrian Java Dalam tutorial ini, kita akan belajar tentang antarmuka Java Queue dan metodenya. Queue antarmuka kerangka koleksi Java menyediakan fungsionalitas struktur data antrian. Ini memperluas Collection antarmuka. Kelas yang Menerapkan Antrian Sejak Queue adalah antarmuka, kami t
Antarmuka Deque Java Dalam tutorial ini, kita akan belajar tentang antarmuka Deque, cara menggunakannya, dan metodenya. Deque antarmuka kerangka koleksi Java menyediakan fungsionalitas antrian berujung ganda. Ini memperluas Queue antarmuka. Kerja Deque Dalam antrian biasa, elemen ditambahkan dar
Java LinkedList Dalam tutorial ini, kita akan belajar tentang Java LinkedList secara detail dengan bantuan contoh. LinkedList kelas kerangka koleksi Java menyediakan fungsionalitas struktur data daftar tertaut (daftar tertaut ganda). Setiap elemen dalam daftar tertaut dikenal sebagai simpul . In
Apa itu OOPS? Sistem Pemrograman Berorientasi Objek (OOP) adalah konsep pemrograman yang bekerja berdasarkan prinsip abstraksi, enkapsulasi, pewarisan, dan polimorfisme. Ini memungkinkan pengguna untuk membuat objek yang mereka inginkan dan membuat metode untuk menangani objek tersebut. Konsep dasa