Java Applet Klasik

Applet merupakan suatu program Java yang ditujukan secara khusus agar dapat berjalan pada web browser (seperti Mozilla Firefox, Microsoft Internet Explorer, Opera, dan lain sebagainya) selama platform tersebut memiliki browser dengan JVM(Java Virtual Machine), biasanya program applet diletakkan (embedded) pada program lain. Karena ditujukan agar dapat berjalan pada web browser, maka applet juga dilengkapi dengan fitur untuk berkomunikasi dengan fitur untuk berkomunikasi dengan host server dan bahkan antar applet, akan tetapi applet dirancang untuk tidak melakukan operasi penulisan ke computer klien dengan alasan keamanan. Applet sendiri merupakan subkelas dari panel yang terletak pada paket java.applet dan class JApplet pada paket javax.swing. Dalam membuat program applet, kita memerlukan file berekstensi .HTML yang akan menjalankan file .CLASS nantinya.

Secara umum program Java yang dapat berjalan pada lingkungan web browser ada beberapa jenis, yaitu :

  1. Applet,

  2. Java Server Pages (JSP),

  3. Servlet, dan

  4. JavaScript.

Daur Hidup Applet

Dalam menjalankan program applet, applet memiliki daur hidup, meliputi : init(), start(), stop(), dan destroy().

Init()

Metode ini digunakan untuk menginisialisasi applet setiap applet di-load atau di-reload. Metode ini mirip dengan konstruktor pada aplikasi java. Biasanya metode init digunakan untuk meletakkan komponen ke panel, mengatur warna, atau membuka koneksi database.

Start()

Metode ini digunakan untuk memulai eksekusi program applet setelah metode init dijalankan. Metode ini dipanggil ketika pengguna mengunjungi kembali halaman yang berisi applet atau berpindah dari suatu aplikasi.

Stop()

Metode ini digunakan untuk memberhentikan eksekusi dari program applet (tidak membersihkan applet dari memori) . Metode ini biasanya dipanggil pada saat menutup browser.

Destroy()

Metode ini digunakan untuk melakukan pembersihan terhadap objek dari applet itu sendiri.

Berikut merupakan contoh program penggunaan applet :

import java.applet.*;
import java.awt.*;
import java.awt.event.*;

public class teksBergerak extends Applet
{
String teks;
int warnaHuruf;

Color bkColor = new Color(0,0,125);

//buat font
Font huruf = new Font("TimesRoman",Font.BOLD,36);

private int counter = 0;
private int gerak = 0;
private int arah = 0;

public void init()
{
try{
teks = getParameter("teks");
}catch(Exception e){
e.printStackTrace();
}

/*printStackTrace
method ini menampilkan pesan error ke objek printStream yang dijadikan parameter.*/

//dapatkan parameter warna teksnya
try{
//public static int parseInt(String s,int radix)
warnaHuruf = Integer.parseInt(getParameter("warna"),16);
}catch(Exception e){
e.printStackTrace();
}

if (teks == null)
teks = "teks kosong";

setBackground(bkColor);
}

public void paint(Graphics screen)
{
//atur teks
screen.setFont(huruf);

//ambil bentuk font
FontMetrics fm = screen.getFontMetrics();

//ambil ukuran panjang dan tinggi huruf
int panjang = fm.stringWidth(teks);
int tinggi = fm.getHeight();

//atur posisi kiri
int kiri = (this.getWidth() - panjang) / 2;

//hapus teks sebelumnya
screen.setColor(bkColor);

/*
public abstract void drawString(String str,int x,int y)

Draws the text given by the specified string, using this graphics context's current font and color.
The baseline of the leftmost character is at position (x, y) in this graphics context's coordinate system.
Parameters:
str - the string to be drawn.
x - the x coordinate.
y - the y coordinate.
*/
screen.drawString(teks,kiri,gerak);

if(counter == 0)
gerak = (this.getHeight() + tinggi) / 2;
else{
if((gerak - tinggi/2) <= 0)
arah = 1; //ke bawah
else if(gerak >= this.getHeight())
arah=0; //ke atas

if(arah == 0)
gerak--; //gerak ke atas
else
gerak++; //gerak ke bawah
}

//tampilkan objek baru di tengah applet
screen.setColor(new Color(warnaHuruf));
screen.drawString(teks,kiri,gerak);

for(int i=0;i<10000000;i++)
counter++;
repaint(); //memanggil metod update()
}

public void update(Graphics g)
{
if(isShowing())
{
paint(g);
}
}
}

Karena kelas java.applet.Applet merupakan subkelas dari java.awt.Panel sehingga sebuah applet sering menurunkan beberapa method dari superclass java.awt.Panel, seperti method paint() dan update(). Method tersebut merupakan turunan dari kelas java.awt.Container.

Method paint()
Method ini digunakan untuk menampilkan suatu objek ke dalam applet, seperti teks, gambar, garis, titik, warna background, dan lain sebagainya. Method ini mempunyai parameter berupa objek Graphics, objek Graphics ini mengacu kepada tampilan dari applet.

Method update()
Biasanya method ini dipanggil oleh method repaint(), method update sendiri berguna untuk membersihkan applet dan memanggil method paint kembali untuk menampilkan objek yang baru.

Menjalankan Applet dengan Parameter

Unutk menjalankan program applet, sebelumnya kita membutuhkan suatu file HTML, yang isinya kurang lebih seperti ini :

<APPLET CODE="teksBergerak.class" WIDTH=350 HEIGHT=200>
Jika applet tidak jalan, browser Anda tidak Java-enabled.
</APPLET>

Karena pogram applet kita meminta suatu parameter, maka kita harus menyisipkan suatu parameter di dalam file HTML tersebut, kurang lebih kodenya sebagai berikut :

<APPLET CODE="teksBergerak.class" WIDTH=350 HEIGHT=200>
<PARAM NAME="teks" VALUE="Java Applet">
<PARAM NAME="warna" VALUE="00CF0000">
Jika applet tidak jalan, browser Anda tidak Java-enabled.
</APPLET>

Terakhir, untuk menjalakannya pertama kita compile file javanya dengan perintah

javac teksBergerak.java

Kemudian jalankan file HTMLnya dengan perintah

appletviewer teksBergerak.html

5 responses to this post.

  1. Posted by erie on Agustus 25, 2009 at 8:18 am

    Hi, salam kenal…
    Mau tanya nih gimana cara manggil class lain dengan button dalam java applet ya??
    saya sudah mencoba tapi tidak berhasil ?? lalu bagaimana caranya supaya class yang saya mau bisa ditampilkan di window yang sama ataupun window yang baru saat button di klik?? Thanx….

    Untuk melihat coding yang saya buat, kunjungi blog saya : http://www.frozniter-night.blogspot.com

    Balas

  2. Posted by thata on April 15, 2010 at 7:36 am

    bisa ngak ajrin ma aq tentang program di atas????
    sekalian jelasin juga, cz kmren aq ngambil prgram d ats bwt aq, jd aq mst mahamin program d atas,,
    tolong ajarin yea,,,,
    please,,,,
    makasihh,,,^^

    Balas

  3. sip lah utk dicoba

    Balas

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: