java applet 1

Post on 12-Jan-2017

266 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

Java Applet IJava Applet I

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

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).

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.

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.

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.

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.}

}

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>

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.

Loading AppletLoading AppletLoading AppletLoading Applet

LangkahLangkahLangkahLangkah----langkahlangkahlangkahlangkahMenjalankanMenjalankanMenjalankanMenjalankan AppletAppletAppletApplet

Hirarki class Applet

FungsiFungsiFungsiFungsi----fungsifungsifungsifungsi pentingpentingpentingpentingdalamdalamdalamdalam AppletAppletAppletApplet

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}

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}

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.

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}

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}

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}

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}

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}

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

Method Graphics

Menggunakan fontsetFont()

Menggunakan warnasetColor()

Menulis huruf dengan menggunakan fontdrawString()

Menggambar polygondrawPolygon()

Menggambar arcusdrawArc()

Menggambar ovaldrawOval()

Menggambar kotakdreawRect()

Membuat garisdrawLine()

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.

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

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

}}

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

}}

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>

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

}}

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>

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

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();

}}

}

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

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

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();

}}

}

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

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.

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();

}}

}

Program 6 : kode html

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

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.

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

}}

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

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!

top related