+ All Categories
Home > Documents > Java APPLET 1

Java APPLET 1

Date post: 12-Jan-2017
Category:
Upload: duongdung
View: 259 times
Download: 2 times
Share this document with a friend
43
Transcript
Page 1: Java APPLET 1

Sumber : Core WebProgrammingPengarang : Marty Hall – Larry BrownSlide : Riyanto Sigit

Java Applet IJava Applet I

Page 2: Java APPLET 1

Materi1. Pengenalan Applet2. Perbedaan Applet dan Aplication3. Applet Security Restriction4. Cara Membuat Applet5. Loading Applet6. Langkah-langkah Menjalankan Applet7. Hirarki class Applet8. Fungsi Penting dalam Applet9. Layar/Frame10.Appletviewer

Page 3: Java APPLET 1

Pengenalan Applet

• Java Applet adalah sebuah class yang dapat diaktifkan pada Web Browser seperti pada Netscape Communicator atau Internet Explorer.

• Java Applet di enkapsulasi sebagaibagian dari HTML (HyperText Markup Language).

Page 4: Java APPLET 1

PerbedaanPerbedaanPerbedaanPerbedaan Applet Applet Applet Applet dandandandanApplicationApplicationApplicationApplication• Application berjalan menggunakan Java

Interpreter atau command line prompt. SedangApplet berjalan pada Browser atau pada halamanWEB menggunakan HTML.

• Java Applet adalah sebuah class yang dapatdiaktifkan 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.

Page 5: Java APPLET 1

Applet Security RestrictionApplet Security RestrictionApplet Security RestrictionApplet 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.

Page 6: Java APPLET 1

Cara Cara Cara Cara MembuatMembuatMembuatMembuat AppletAppletAppletApplet• Pembuatan alikasi Java Applet dimulai dengan

mengembangkan class Applet yang berada pada package java.applet.*. Terdapat dua langkah untukmembuat 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.

Page 7: Java APPLET 1

Template Template Template Template untukuntukuntukuntuk AppletAppletAppletAppletimport java.applet.Applet;import java.awt.*;public class AppletTemplate extends Applet {

// deklarasi variabel.public void init() {// inisialisasi variabel, image loading, dll.

}public void paint(Graphics g) {

// drawing operations.}

}

Page 8: Java APPLET 1

Template Template Template Template untukuntukuntukuntuk HTMLHTMLHTMLHTML<HTML><HEAD>

<TITLE> Template untuk loading applet</TITLE></HEAD><BODY><H1> Sebuah template untuk loading applet </H1><P><APPLET CODE=”AppletTemplate.class” WIDTH=120 HEIGHT=60>

<B> Error! Anda harus mengkatifkan Java-enabled browser.</B></APPLET></BODY></HTML>

Page 9: Java APPLET 1

KeteranganKeteranganKeteranganKeterangan• <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.

Page 10: Java APPLET 1

Loading AppletLoading AppletLoading AppletLoading Applet

Page 11: Java APPLET 1

LangkahLangkahLangkahLangkah----langkahlangkahlangkahlangkahMenjalankanMenjalankanMenjalankanMenjalankan AppletAppletAppletApplet

Page 12: Java APPLET 1

Hirarki class Applet

Page 13: Java APPLET 1

FungsiFungsiFungsiFungsi----fungsifungsifungsifungsi pentingpentingpentingpentingdalamdalamdalamdalam AppletAppletAppletApplet

Page 14: Java APPLET 1

InitializationInitializationInitializationInitialization• Method init() dipanggil ketika applet pertama kali di load ke browser.

• Yang dilakukan pada method ini adalahmembuat obyek, inisialisasi variabel, loading gambar atau huruf, setting parameter dan lain-lain.

• Deklarasi method init:public void init(){

// code here}

Page 15: Java APPLET 1

StartingStartingStartingStarting• Method start() dipanggil segera setelah fungsi init dijalankan.

Juga dipanggil bila sebelumnya dilakukan stop ataumemanggil method stop() pada applet.Applet diberhentikanjika browser menjalankan halaman lain dan akan start lagiketika 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 memulaithread dan mengirim messages pada helper object.

• Deklarasi method start:pubic void start(){

// Code here}

Page 16: Java APPLET 1

PaintingPaintingPaintingPainting• Method paint() dipanggil setelah method init dan

start dijalankan. Method ini digunakan untukmenampilkan sesuatu (tulisan, garis, gambar, atauwarna backgroud) pada layar.

• Method ini dipanggil secara otomatis oleh web browser.

• Obyek Graphics dipassing ke paint method, menggambarkan tempat apllet menuliskan ataumenggambarkan sesuatu ke layar.

Page 17: Java APPLET 1

PaintingPaintingPaintingPainting• 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}

Page 18: Java APPLET 1

StoppingStoppingStoppingStopping• Method stop() dipanggil ketika user meninggalkan

halaman yang berisi applet yang dijalankan atauketika secara sengaja memanggil method stop().

• Method ini digunakan untuk menghentikan thread. Secara default thread terus berjalan ketika pindahkehalaman lain.

• Deklarasi method stop:public void stop(){

//code here}

Page 19: Java APPLET 1

DestructionDestructionDestructionDestruction• Method destroy() dipanggil ketika applet ditutup

(browser ditutup). • Method ini digunakan untuk membersihkan memori

dan untuk mematikan Threads yang berjalan ataumenghapus obyek yang berjalan.

• Java mempunyai automatic garbage collector, sehingga kita tidak wajib menggunakan method ini.

• Deklarasi method destroy:public void destroy(){

//code here}

Page 20: Java APPLET 1

Update• Method upadate dipanggil secara otomatis ketika

method repaint() dipanggil. • Biasanya method update() digunakan untuk

membersihkan layar dan secara otomatismemanggil method paint().

• Method update() bisa dimodifikasi, misal : memanggil paint() tanpa membersihkan layar.

• Deklarasi method update:public void update(Graphics g) {

// code here}

Page 21: Java APPLET 1

GraphicsGraphicsGraphicsGraphics• Applet menggunakan class Graphics darilibrary awt (abstract windowing tools) untukmenggambar pada layar/frame.

• Method yang dipanggil oleh applet untukmenggambar layar adalah:import java.awt.Graphics;public void paint(Graphics g) {

// output pada layar}

Page 22: Java APPLET 1

GraphicsGraphicsGraphicsGraphics• 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 dapatmenggambar layar dengan menggunakanmethod menggambar sederhana

Page 23: Java APPLET 1

Method Graphics

Menggunakan fontsetFont()

Menggunakan warnasetColor()

Menulis huruf dengan menggunakan fontdrawString()

Menggambar polygondrawPolygon()

Menggambar arcusdrawArc()

Menggambar ovaldrawOval()

Menggambar kotakdreawRect()

Membuat garisdrawLine()

Page 24: Java APPLET 1

Layar/FrameLayar/FrameLayar/FrameLayar/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 tidakboleh menggambar atau meletakkan obyek diluar dimensitersebut. Bila hal itu terjadi, maka gambar tidak akan tampildilayar.

• Dimensi frame pada browser bisa diambil denganmenggunakan metoda getSize() and atribut width dan height. Misal getSize().width.

Page 25: Java APPLET 1

Applet ViewerApplet ViewerApplet ViewerApplet Viewer

• Applet viewer adalah aplikasi Java yang memungkinkan kita menjalankanapplet tanpa menggunakan web browser.

• Cara penggunaan:c:\appletviewer nama_file.html

Page 26: Java APPLET 1

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!");

}}

Page 27: Java APPLET 1

Program 2 Program 2 Program 2 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);

}}

Page 28: Java APPLET 1

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>

Page 29: Java APPLET 1

Program 3 Program 3 Program 3 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);

}}

Page 30: Java APPLET 1

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>

Page 31: Java APPLET 1

Program 4Program 4Program 4Program 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”.

Page 32: Java APPLET 1

Program 4 Program 4 Program 4 Program 4 : kode javaimport java.applet.*;import java.awt.event.*;import java.awt.*;

public class PaintModel1 extends Applet {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();

}}

}

Page 33: Java APPLET 1

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

Page 34: Java APPLET 1

Percobaan 5Percobaan 5Percobaan 5Percobaan 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() !.

Page 35: Java APPLET 1

Program 5 Program 5 Program 5 Program 5 : kode javaimport java.applet.*;import java.awt.event.*;import java.awt.*;

public class PaintModel2 extends Applet {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();

}}

}

Page 36: Java APPLET 1

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

Page 37: Java APPLET 1

Percobaan 6Percobaan 6Percobaan 6Percobaan 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.

Page 38: Java APPLET 1

Program 6 Program 6 Program 6 Program 6 : kode javaimport java.applet.*;import java.awt.event.*;import java.awt.*;import java.util.List;import java.util.ArrayList;

public class PaintModel3 extends Applet {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();

}}

}

Page 39: Java APPLET 1

Program 6 : kode html

<html><head><title>HelloWorld Applet </title></head><body><applet code="PaintModel3.class" height="200" width="200"></applet></body></html>

Page 40: Java APPLET 1

Percobaan 7Percobaan 7Percobaan 7Percobaan 7• Program yang menampilkan urut-urutan pemanggilan method yang menunjukkan siklus hidup applet dijalankan.

• Gunakan applet viewer untuk melihathasilnya!

• Perhatikan tampilan di standard input output.

Page 41: Java APPLET 1

Program 7 Program 7 Program 7 Program 7 : kode javaimport 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... ");}public void destroy() {

addItem("preparing for unloading...");}void addItem(String newWord) {

System.out.println(newWord);buffer.append(newWord);repaint();

}public void paint(Graphics g) {

g.drawRect(0, 0, size().width - 1, size().height - 1);g.drawString(buffer.toString(), 5, 15);

}}

Page 42: Java APPLET 1

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

Page 43: Java APPLET 1

SOAL LATIHANSOAL LATIHANSOAL LATIHANSOAL LATIHAN1. Buatlah program applet yang menampilkan tulisan “Hello” pada posisi 100,

100 dan ukuran applet sebesar 200 * 200!2. 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>

3. Buat program yang sama dengan soal nomor 2 tetapi inisialisasi variabellebar dan panjangnya diambil dengan method getSize().

4. Buatlah suatu applet yang mengimplementasikan semua method yang adapada siklus hidup applet!

5. Buatlah applet yang menunjukkan berapa kali method update dipanggil!


Recommended