Creating Web Application using Java Applet Introduction to Java Applet (1st part)
Objectives Memahami anatomi dan struktur penulisan Applet Bagaimana Applet bekerja Menggunakan API yang hanya dapat diakses oleh applet suara, aplet parameter, tag <APPLET>, komunikasi interapplet, meminta request dari browser
Overview Tiap applet diimplementasikan dari menciptakan suatu subclass dari class Applet Berikut adalah hierarki dari class Applet. Hierarki menunjukkan kemampuan Applet
Anatomi Applet import java.applet.*; import java.awt.*; Perhatikan lagi listing Tes.java dibawah ini : import java.applet.*; import java.awt.*; public class Tes extends Applet { public void paint (Graphics g) { // menampilkan “Java Applet” pada browser g.drawString (“Java Applet",50, 25); } Class – Package – Subclass Applet – Implementasi Applet Method – Menjalankan Applet
Susunan Applet Class dan Package import java.applet.*; import java.awt.*; Jika baris di atas dihilangkan maka harus ditulis : public class HelloWorld extends java.applet.Applet { public void paint(java.awt.Graphics g) Subclass dari suatu Applet ditunjukkan dengan : public class HelloWorld extends Applet Mengimplementasikan method applet : public void paint(Graphics g) { g.drawString("Hello world!", 50, 25);} } Harus terdiri dari paling tidak satu atau lebih init, start, paint. Untuk tambahan stop dan destroy
Daur Hidup APPLET init start stop destroy Meng-inisiasi applet saat pertama dijalankan atau di-reload start Memulai eksekusi applet saat pertama dijalankan atau di-revisit oleh user stop Menghentikan eksekusi applet saat user meninggalkan halaman ber-applet atau menutup browser destroy Menjalankan pembersihan final untuk persiapan unloading
Daur Hidup APPLET Pada saat applet di-load Instance dari class Applet dibuat Applet meng-inisialisasi dirinya sendiri Applet mulai berjalan Applet berhenti saat : Halaman di-minimize, ditutup, di-reload Sebelum berhenti stop dan destroy
Tag HTML Tag HTML Tag applet yang dipergunakan pada browser : <APPLET [CODEBASE = codebaseURL] CODE = appletFile [ALT = alternateText] [NAME = appletInstanceName] WIDTH = pixels HEIGHT = pixels [ALIGN = alignment] [VSPACE = pixels] [HSPACE = pixels] > [< PARAM NAME = appletParameter1 VALUE = value >] [< PARAM NAME = appletParameter2 VALUE = value >] . . . [alternateHTML] </APPLET> Tag applet yang dipergunakan pada browser : <APPLET [CODEBASE = codebaseURL] CODE = appletFile [ALT = alternateText] [NAME = appletInstanceName] WIDTH = pixels HEIGHT = pixels [ALIGN = alignment] [VSPACE = pixels] [HSPACE = pixels] > [< PARAM NAME = appletParameter1 VALUE = value >] [< PARAM NAME = appletParameter2 VALUE = value >] . . . [alternateHTML] </APPLET>
Penjelasan CODEBASE = codebaseURL Menspesifikasikan URL asal applet Jika tidak ada URL dokumen yang dipergunakan CODE = appletFile appletFile diisi dengan file class yang sudah di-compile Tidak bisa absolute relative pada URL asal applet ALT = alternateText Menspesifikasikan teks yang muncul pada browser browser mengerti tag APPLET tapi tidak bisa menjalankan NAME = appletInstanceName Menspesifikasikan nama object applet dari halaman yang sama dapat saling mencari dan berkomunikasi
Penjelasan WIDTH = pixels HEIGHT = pixels Atribut ini diperlukan menandai lebar dan panjang (dalam piksel) tampilan applet ALIGN = alignment Menspesifikasikan alignment (pengaturan baris) suatu applet Nilainya sama dengan tag IMG pada HTML standar : left, right, top, texttop, middle, absmiddle, baseline, bottom, absbottom VSPACE = pixels HSPACE = pixels Atribut ini menspesifikasikan jumlah pixel di atas dan dibawah applet (VSPACE) dan di masing2 kanan kiri applet
Penjelasan <PARAM NAME = appletParameter1 VALUE = value> Tag <PARAM> menspesifikasikan parameter psesifik suatu applet Applet menggunakan method getParameter() untuk mengambil nilai alternateHTML Browser tidak mengerti tag <APPLET> diabaikan Menjalanan kode HTML lain antara <APPLET> dan </APPLET> Browser yang Java compatibel mengabaikan kode HTML ekstra
Tag APPLET Yang paling sederhana : <APPLET CODE=AppletSubclass.class WIDTH=anInt HEIGHT=anInt> </APPLET>
Batasan Keamanan Kebanyakan browser batasan untuk applet dari jaringan: me-load library atau mendefinisikan method native membaca atau menulis file pada host yang menjalankan applet membuat koneksi jaringan kecuali kepada host yang mengirimkan applet tersebut menjalankan program apapun pada host yang menjalankan applet membaca properti sistem tertentu
Kemampuan Applet Di bawah ada beberapa kemampuan applet yang diijinkan oleh browser dan beberapa applet viewer lain : Membuat koneksi ke host dimana mereka dikirim Applet yang berjalan dalam web browser dokumen HTML ditampilkan Meng-invoke method public dari applet lain halaman yang sama Applet yang di-load dari file sistem lokal (direktori user : CLASSPATH) tidak memiliki batasan seperti applet yang di-load dari jaringan Kebanyakan applet berhenti user menutup halaman tidak harus demikian
Kesimpulan Applet disisipkan dalam halaman HTML tag <APPLET>. Browser akan : mencari file class dari subclass Applet dari applet Mencari lokasi file class file bytecode dispesifikasikan dengan CODE dan CODEBASE tag <APPLET> Membawa file bytecode dari jaringan ke komputer user Menciptakan instance dari subclass Applet applet = instance dari class Applet Memanggil method init dari applet inisiasi dilakukan sekali Memanggil method start dari applet kadang menjalankan thread juga
HurufDemo.java import java.applet.*; Import java.awt.*; public class HurufDemo extends Applet { public void paint(Graphics g){ Font f = new Font(“Arial”,2,18); String iniString = “Hai. Mau Pulang ??”; g.setFont(f); g.drawString(iniString, 20, 20); }
HurufDemo.html <APPLET Code = HurufDemo.class Width=200 Height = 200> </APPLET>