1 / 44

Sumber : Core WebProgramming Pengarang : Marty Hall – Larry Brown Slide : Riyanto Sigit

Java Applet I. Sumber : Core WebProgramming Pengarang : Marty Hall – Larry Brown Slide : Riyanto Sigit. Materi. Pengenalan Applet Perbedaan Applet dan Aplication Applet Security Restriction Cara Membuat Applet Loading Applet Langkah-langkah Menjalankan Applet Hirarki class Applet

blue
Download Presentation

Sumber : Core WebProgramming Pengarang : Marty Hall – Larry Brown Slide : Riyanto Sigit

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Java Applet I Sumber : Core WebProgramming Pengarang : Marty Hall – Larry Brown Slide : Riyanto Sigit

  2. Materi • Pengenalan Applet • Perbedaan Applet dan Aplication • Applet Security Restriction • Cara Membuat Applet • Loading Applet • Langkah-langkah Menjalankan Applet • Hirarki class Applet • Fungsi Penting dalam Applet • Layar/Frame • Appletviewer

  3. Pengenalan Applet • Java Applet adalah sebuah class yang dapat diaktifkan pada Web Browser seperti pada Netscape Communicator atau Internet Explorer. • Java Applet di enkapsulasi sebagai bagian dari HTML (HyperText Markup Language).

  4. Perbedaan Applet dan Application • Application berjalan menggunakan Java Interpreter atau command line prompt. Sedang Applet berjalan pada Browser atau pada halaman WEB menggunakan HTML. • Java Applet adalah sebuah class yang dapat diaktifkan pada Web Browser seperti Netscape Communicator atau Internet explorer. Java Applet di-enkapsulasi sebagai bagian dari HTML. • Java Applet mempunyai siklus hidup sedang Java Application tidak mempunyai siklus hidup.

  5. Applet Security Restriction • Tidak bisa read atau write file pada file sistem user. • Tidak bisa berkomunikasi lewat internet kecuali dengan web page dimana applet berada. • Tidak bisa menjalankan program pada sistem user. • Tidak bisa loading program yang tersimpan di sistem user. • Misal : executable program atau shared libraries. • Tidak bisa mencari informasi tentang sistem user yang bersifat private. • Misal : informasi tentang current user, nama direktori, sistem software dll.

  6. Cara Membuat Applet • Pembuatan alikasi Java Applet dimulai dengan mengembangkan class Applet yang berada pada package java.applet.*. Terdapat dua langkah untuk membuat Java Applet: • Membuat sebuah class Applet. • Membuat dokumen html yang berasosiasi dengan class Applet yang telah dibuat pada langkah pertama. • Class Applet mendefinisikan tingkah laku dari applet yang menggambarkan program yang kita buat. • Dokumen html yang berasosiasi dengan class Applet digunakan untuk menjalankan applet dengan ukuran tertentu pada web page.

  7. Template untuk Applet

  8. Template untuk HTML

  9. Keterangan • <HTML> dan </HTML> adalah pasangan kunci kata untuk memulai kode HTML. • <APPLET> dan </APPLET> adalah pasangan kunci kata yang digunakan untuk mengaktifkan Applet dan Parameter untuk applet tersebut. • WIDTH dan HEIGHT menentukan jumlah pixel yang dibutuhkan untuk menggambar atau menampilkan applet. • File html ini disimpan dengan nama file yang berekstensi .html dan kemudian dapat dipanggil melalui URL dari web browser atau menggunakan aplikasi appletviewer.

  10. Loading Applet

  11. Langkah-langkah Menjalankan Applet

  12. Hirarki class Applet

  13. Fungsi-fungsi penting dalam Applet

  14. Initialization • Method init() dipanggil ketika applet pertama kali di load ke browser. • Yang dilakukan pada method ini adalah membuat obyek, inisialisasi variabel, loading gambar atau huruf, setting parameter dan lain-lain. • Deklarasi method init: public void init(){ // code here }

  15. Starting • Method start() dipanggil segera setelah fungsi init dijalankan. Juga dipanggil bila sebelumnya dilakukan stop atau memanggil method stop() pada applet.Applet diberhentikan jika browser menjalankan halaman lain dan akan start lagi ketika pemakai kembali ke halamannya. • Selama life cycle applet, start() bisa dipanggil beberapa kali, tetapi init() hanya dipanggil sekali. • Fungsi method start() adalah untuk memulai thread atau play sound. Yang dilakukan oleh method start() adalah memulai thread dan mengirim messages pada helper object. • Deklarasi method start: pubic void start(){ // Code here }

  16. Painting • Method paint() dipanggil setelah method init dan start dijalankan. Method ini digunakan untuk menampilkan sesuatu (tulisan, garis, gambar, atau warna backgroud) pada layar. • Method ini dipanggil secara otomatis oleh web browser. • Obyek Graphics dipassing ke paint method, menggambarkan tempat apllet menuliskan atau menggambarkan sesuatu ke layar.

  17. Painting • Selama life cycle applet, method paint() adalah paling sering dijalankan, yaitu pada saat: • Setelah init() dan start() • Berpindah ke window lain dan kembali lagi ke applet • Memindah posisi applet • Setelah layar di minimize • Deklarasi method paint: public void paint(Graphics g){ //code here }

  18. Stopping • Method stop() dipanggil ketika user meninggalkan halaman yang berisi applet yang dijalankan atau ketika secara sengaja memanggil method stop(). • Method ini digunakan untuk menghentikan thread. Secara default thread terus berjalan ketika pindah kehalaman lain. • Deklarasi method stop: public void stop(){ //code here }

  19. Destruction • Method destroy() dipanggil ketika applet ditutup (browser ditutup). • Method ini digunakan untuk membersihkan memori dan untuk mematikan Threads yang berjalan atau menghapus obyek yang berjalan. • Java mempunyai automatic garbage collector, sehingga kita tidak wajib menggunakan method ini. • Deklarasi method destroy: public void destroy(){ //code here }

  20. Update • Method upadate dipanggil secara otomatis ketika method repaint() dipanggil. • Biasanya method update() digunakan untuk membersihkan layar dan secara otomatis memanggil method paint(). • Method update() bisa dimodifikasi, misal : memanggil paint() tanpa membersihkan layar. • Deklarasi method update: public void update(Graphics g) { // code here }

  21. Graphics • Applet menggunakan class Graphics dari library awt (abstract windowing tools) untuk menggambar pada layar/frame. • Method yang dipanggil oleh applet untuk menggambar layar adalah: import java.awt.Graphics; public void paint(Graphics g) { // output pada layar }

  22. Graphics • Untuk menggunakan Graphics, library java.awt.* harus diimpor ke dalam program. import java.awt.*; • Obyek yang didefinisikan dari class Graphics dapat didefinisikan sebagai variabel. Graphics g; • Melalui variabel ini, Applet dapat menggambar layar dengan menggunakan method menggambar sederhana

  23. Method Graphics

  24. Layar/Frame • Applet membentuk layar berdasarkan dimensi width dan height yang diberikan melalui parameter dari <APPLET>. • Perhitungan dimensi layar dimulai dari layar sudut kiri paling atas, yaitu dimulai dati (0,0), kemudian pixel ke kanan (1,0), (2,0) dan seterusnya sampai dengan (width-1,0). • Baris berikutnya dimulai dengan (0,1) dan seterusnya sampai dengan (width-1,1). • Dimensi terakhir adalah pixel sebelah kanan paling bawah yaitu (width-1, height-1). • Jadi dimensi layar tersebut adalah width*height. Program tidak boleh menggambar atau meletakkan obyek diluar dimensi tersebut. Bila hal itu terjadi, maka gambar tidak akan tampil dilayar. • Dimensi frame pada browser bisa diambil dengan menggunakan metoda getSize() and atribut width dan height. Misal getSize().width.

  25. Applet Viewer • Applet viewer adalah aplikasi Java yang memungkinkan kita menjalankan applet tanpa menggunakan web browser. • Cara penggunaan: c:\appletviewer nama_file.html

  26. Program 1 • Program yang menampilkan tulisan “Hello world” yang dibuat sebagai aplikasi. Tulisan “Hello world” akan tampil di standard output. public class HelloWorldApp{ public static void main(String[] args){ System.out.println("Hello World!"); } }

  27. Program 2 : kode java • Program yang menampilkan tulisan “Hello world” yang dibuat sebagai applet. Tulisan “Hello world” akan tampil di browser pada posisi 50,25. import java.applet.Applet; import java.awt.Graphics; public class HelloWorld extends Applet{ public void paint(Graphics g){ g.drawString("Hello world!", 50, 25); } }

  28. Program 2: kode html <HTML> <HEAD> <TITLE> A Simple Program </TITLE> </HEAD> <BODY> Here is the output of my program: <APPLET CODE="HelloWorld.class" WIDTH=300 HEIGHT=70> </APPLET> </BODY> </HTML>

  29. Program 3 : kode java • Applet yang selalu mengupdate berapa kali method paint dipanggil dan menampilkannya dilayar. • Cobalah untuk men-deactive-kan layar browser dan selanjutnya kembali lagi, maka jumlah method paint dipanggil akan di-increment. import java.applet.*; import java.awt.*; public class Hello extends Applet{ private int paintCount; public void init(){ paintCount = 0; } public void paint(Graphics g){ g.drawString("Hello",25,25); paintCount++; g.drawString("Number of times paint called : "+paintCount, 25, 50); } }

  30. Program 3: kode html <HTML> <HEAD> <TITLE> A Simple Program </TITLE> </HEAD> <BODY> Here is the output of my program: <APPLET CODE="Hello.class" WIDTH=300 HEIGHT=70> </APPLET> </BODY> </HTML>

  31. Program 4 • Menampilkan tulisan “Hello World!” pada lokasi mouse di klik setiap kali user melakukan klik mouse di applet. • Hal ini dapat dilakukan karena penggunaan atribut lastClick yang bertipe Point. • Pada program ini tiap kali method repaint() dipanggil maka secara otomatis dan implisit method update() dipanggil. Akibat pemanggilan method update maka layar dibersihkan sebelum method paint() dipanggil kembali sehingga seolah-olah tulisan “Hello World! berpindah tempat”.

  32. Program 4 : kode java import java.applet.*; import java.awt.event.*; import java.awt.*; public class PaintModel1 extends Applet { // The paint model : the last click Point private Point lastClick = null; public void init() { addMouseListener(new MyModelRecorder()); } public void paint(Graphics g) { if ( lastClick != null ) { g.drawString("Hello World!",lastClick.x, lastClick.y); } } private class MyModelRecorder extends MouseAdapter { public void mousePressed(MouseEvent e) { lastClick = e.getPoint(); repaint(); } } }

  33. Program 4: kode html <html> <head> <title>HelloWorld Applet </title> </head> <body> <applet code="PaintModel1.class“ height="200" width="200"> </applet> </body> </html>

  34. Percobaan 5 • Menampilkan tulisan “Hello World!” pada lokasi mouse di klik tanpa membersihkan layar. • Hal ini adalah efek dari penggunaan fungsi update(). • Perhatikan isi method update() !.

  35. Program 5 : kode java import java.applet.*; import java.awt.event.*; import java.awt.*; public class PaintModel2 extends Applet { // The paint model : the last click Point private Point lastClick = null; public void init() { addMouseListener(new MyModelRecorder()); } public void update (Graphics g) { paint(g); } public void paint(Graphics g) { if ( lastClick != null ) { g.drawString("Hello World!",lastClick.x, lastClick.y); } } private class MyModelRecorder extends MouseAdapter { public void mousePressed(MouseEvent e) { lastClick = e.getPoint(); repaint(); } } }

  36. Program 5 : kode html <html> <head> <title>HelloWorld Applet </title> </head> <body> <applet code="PaintModel2.class" height="200" width="200"> </applet> </body> </html>

  37. Percobaan 6 • Menampilkan tulisan “Hello World!” pada lokasi mouse di klik tanpa membersihkan layar. • Hal ini adalah efek dari penggunaan fungsi update(). • Perhatikan isi method update() !. • Coba lakukan minimize pada window broser. Kemudian maximize. Apa yang terjadi? Jumlah tulisan dan posisinya akan tetap sama. • Ini adalah akibat dari penggunaan tipe List pada mouseClicks.

  38. Program 6 : kode java import java.applet.*; import java.awt.event.*; import java.awt.*; import java.util.List; import java.util.ArrayList; public class PaintModel3 extends Applet { // The paint model : the last click Point private List mouseClicks = new ArrayList(5); public void init() { addMouseListener(new MyModelRecorder()); } public void update(Graphics g) { paint(g); } public void paint(Graphics g) { for(int x = 0; x < mouseClicks.size(); x++){ Point p = (Point) mouseClicks.get(x); g.drawString("Hello World!",p.x, p.y); } } private class MyModelRecorder extends MouseAdapter { public void mousePressed(MouseEvent e) { mouseClicks.add(e.getPoint()); repaint(); } } }

  39. Program 6 : kode html <html> <head> <title>HelloWorld Applet </title> </head> <body> <applet code="PaintModel3.class" height="200" width="200"> </applet> </body> </html>

  40. Percobaan 7 • Program yang menampilkan urut-urutan pemanggilan method yang menunjukkan siklus hidup applet dijalankan. • Gunakan applet viewer untuk melihat hasilnya! • Perhatikan tampilan di standard input output.

  41. Program 7 : kode java import java.applet.Applet; import java.awt.Graphics; public class Simple extends Applet { StringBuffer buffer; public void init() { buffer = new StringBuffer(); addItem("initializing... "); } public void start() { addItem("starting... "); } public void stop() { addItem("stopping... "); }

  42. Program 7 : kode java public void destroy() { addItem("preparing for unloading..."); } void addItem(String newWord) { System.out.println(newWord); buffer.append(newWord); repaint(); } public void paint(Graphics g) { //Draw a Rectangle around the applet's display area. g.drawRect(0, 0, size().width - 1, size().height - 1); //Draw the current string inside the rectangle. g.drawString(buffer.toString(), 5, 15); } }

  43. Program 7 : kode html <html> <head> <title>HelloWorld Applet </title> </head> <body> <applet code="Simple.class" height="200" width="200"> </applet> </body> </html>

  44. SOAL LATIHAN • Buatlah program applet yang menampilkan tulisan “Hello” pada posisi 100, 100 dan ukuran applet sebesar 200 * 200! • Buatlah suatu applet yang menampilkan tampilan sebagai berikut: • Program ini mendemonstrasikan penarikan garis vertikal tiap 5 pixel mulai dari width sampai dengan height. Pada program buat dua variabel misal lebar dan panjang yang masing-masing bernilai 200 dan 100. Simpan program dengan nama MyPixel.java. Gunakan kode html sebagai berikut: • <applet code="MyPixel.class" width=200 height=100> • Buat program yang sama dengan soal nomor 2 tetapi inisialisasi variabel lebar dan panjangnya diambil dengan method getSize(). • Buatlah suatu applet yang mengimplementasikan semua method yang ada pada siklus hidup applet! • Buatlah applet yang menunjukkan berapa kali method update dipanggil!

More Related