Pemrograman Berorientasi Obyek Lanjut (IT251)
Ramos Somya, S.Kom., M.Cs.
Applet adalah program Java sederhana yang dapat dijalankan melalui web browser. Applet berbeda dengan aplikasi Java pada umumnya, yaitu Applet tidak mengijinkan untuk mengakses sumber daya pada lokal komputer (files, printer, etc) serta tidak dapat berkomunikasi dengan komputer lain melalui jaringan komputer.
init() init adalah method yang dipanggil pertama kali. Yang sebenarnya berisi permintaan pertama ketika applet di load. start() Setelah meminta method init, mulai dengan method yang dipangil selanjutnya. method ini meminta dokumen HTML yang ditampilkan applet setiap waktu. Eksekusi ringkasan dengan method ini dilakukan ketika applet ditampilkan kembali.
stop() Ketika web browser meninggalkan dokumen HTML applet, method ini dipanggil untuk menginformasikan applet bahwa dia harus menghentikan proses eksekusinya. destroy() Method ini dipanggil ketika applet perlu dihapus dari memory. Method stop selalu dipanggil sebelum method ini diminta untuk dijalankan.
Method lain yang tidak kalah penting adalah method paint, yang mana class Applet menurunkannya dari class induknya yaitu class Component, yang meminta output applet setiap waktu yang diperlukan untuk dapat digambar kembali
Applet memiliki window status, di mana memberi informasi kepada Anda tentang apa yang sebenarnya dilakukan applet. Jika Anda ingin memberi output ke window status, secara sederhana memanggil method showStatus
import java.applet.Applet; import java.awt.Graphics; public class AppletSample1 extends Applet {
@Override public void destroy() { super.destroy(); System.out.println("Destroy dipanggil"); }
@Override public void init() { super.init(); System.out.println("Init dipanggil"); }
@Override public void start() { super.start(); System.out.println("Start dipanggil"); } @Override public void stop() { super.stop(); System.out.println("Stop dipanggil"); } @Override public void paint(Graphics arg0) { super.paint(arg0); System.out.println("Paint dipanggil"); arg0.drawString("Ini Applet Lho", 5, 20); } }
import java.applet.Applet; import java.awt.Graphics; import java.awt.event.KeyEvent; import java.awt.event.KeyListener; public class AppletSample3 extends Applet implements Runnable, KeyListener { private int x; private int y;
@Override public void init() { super.init(); this.addKeyListener(this); this.x = (this.getWidth() - 20) / 2; this.y = (this.getHeight() - 20) / 2; Thread thread = new Thread(this); thread.start(); }
@Override public void paint(Graphics graphic) { super.paint(graphic); graphic.fillOval(this.x, this.y, 20, 20); } public void run() { while (true) { try { Thread.sleep(500); } catch (InterruptedException e) { e.printStackTrace(); } } }
public void keyPressed(KeyEvent keyEvt) { int key = keyEvt.getKeyCode(); if (key == KeyEvent.VK_UP) { this.y -= 5; } else if (key == KeyEvent.VK_DOWN) { this.y += 5; } else if (key == KeyEvent.VK_LEFT) { this.x -= 5; } else if (key == KeyEvent.VK_RIGHT) { this.x += 5; } repaint(); } public void keyReleased(KeyEvent arg0) { }
public void keyTyped(KeyEvent arg0) { } }
Welcome to Java Applet
Simpan dengan ekstensi .html dan simpan pada folder build/classes pada project.
Applet dapat dikombinasikan dengan komponenkomponen AWT untuk membentuk tampilan windows, misal: Button, TextField, etc.
import java.applet.Applet; import java.awt.Button; import java.awt.TextField; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; public class AppletSample4 extends Applet {
private Button butt; private TextField txt; @Override public void destroy() { super.destroy(); }
@Override public void init() { super.init(); this.setLayout(null); butt = new Button("Huruf Besar"); txt = new TextField(); this.setSize(200, 200); butt.setBounds(20, 100, 75, 20); butt.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { buttAction(e); } }); txt.setBounds(20, 20, 150, 40); this.add(butt); this.add(txt); }
protected void buttAction(ActionEvent e) { txt.setText(txt.getText().toUpperCase()); } @Override public void start() { super.start(); } @Override public void stop() { super.stop(); } }
Applet juga dapat dikombinasikan komponen-komponen Swing.
dengan
Buka IDE Netbeans (sebaiknya 6.7 ke atas) lalu buat Project baru. Pilih Kategori Java dan item Java Class Library lalu klik Next.
Isi nama project pada Project Name, misalnya “myApplet”, lalu klik Finish.
Hasil setelah membuat project adalah sebagai berikut :
Klik kanan pada folder Source Packages, pilih New -> Other
Pilih Swing GUI Forms pada Categories dan JApplet Form pada File Types, lalu klik Next
Selanjutnya berikan nama pada Class Name, misalnya “helloApplet”, lalu klik Finish. hasilnya:
Selanjutnya kita akan membuat aplikasi applet sederhana dengan drag&drop. Disebelah kanan IDE NetBeans terdapat Palette yang menyimpan semua item-item yang diperlukan untuk membangun aplikasi.
Pilih Panel pada Swing Containers lalu letakkan pada form applet seperti gambar di bawah ini :
Masukkan Button dan Label ke dalam Panel tadi kemudian ubah text pada Button dan Label tadi. Hasilnya akan seperti ini :
Selanjutnya kita akan memberi event kepada tombol “Click Me!” yaitu ketika tombol tersebut ditekan tulisan “Hello World!” akan berubah menjadi “This is from click me!“. Ikuti langkah-langkah berikut ini :
Klik kanan pada tombol “Click Me!“, pilih Events -> Mouse -> mouseClicked
Tambahkan kode pada jButton1MouseClicked
File HTML telah di-generate otomatis ketika melakukan Run File tadi. Sekarang, buka windows explorer kemudian cari folder project anda. Ketika anda membuka folder build akan terlihat file “helloApplet.html” dan kemudian buka file tersebut.
NB: Obyek bola terus bergerak dan akan memantul bila menyentuh dinding merah (Gunakan Thread).
Dikerjakan secara kelompok (max 2 mahasiswa) Cantumkan nama dan NIM pada tampilan Applet (pada bagian atas dan bawah). Dikirimkan ke email:
[email protected] Subject: PBOL APPLET Nama project: TGS_A3_NIM Deadline: Selasa, 16 Oktober 2012 pukul 12.00 WIB.