AWT sebuah paket yang telah ada dalam
Java yang dapat digunakan untuk merancang GUI (Graphical User Interface). Program-
program modern sekarang ini biasanya dibuat dalam bentuk form, dialog box, dadn menu.
Dengan GUI, user dapat melakukan pilihan secara cepat dan mudah dengan menggunakan
mouse.
Abstract Window Toolkit disebut toolkit karena didalamnya tersedia class-class yang telah
dirancang untuk membuat GUI. Paket AWT termasuk paket jadi untuk setiap versi Java.
Berbeda dengan AWT, JSwing juga merupakan paket dari Java untuk merancang GUI tetapi
paket JSwing ini merupakan paket tambahan yang harus di download secara terpisah.
GUI (Graphical User Interface)
Sistem yang dirancang secara grafik untuk mempermudah interaksi dengan user dikenal
dengan istilah GUI.
button, list-box dan lain-lain. Sebuah button (tombol) dapat ditekan dengan mouse dan
memiliki tulisan yang merepresentasikan arti dari tombol tersebut.
aksi dari suatu komponen GUI seperti penekanan mouse (mouse clicked) , penggeseran
mouse (mouse dragged), penekanan tomboh (key pressed), pemilihan komponen menu dan
lain-lain.
Sebuah objek seperti button akan membangkitkan event. Bila sebuah button ditekan maka
button tersebut akan melakukan aksinya (firing the event). Aksi yang akan dilakukan oleh
button itu akan dikerjakan oleh sebuah objek yang dikenal dengan sebutan listener object.
Anda sebagai programmerlah yang harus menentukan objek apa yang akan menjadi listener
object untuk sebuah objek yang membangkitkan event. Sebagai contoh, bila anda klik mouse
pada sebuah objek button (tombol), dan button tersebut memiliki listener object maka aksi
dari penekanan tombol itu akan langsung dikirim ke listener object tersebut. Sebuah listerner
object memiliki metode-metode yang menentukan apa yang akan terjadi pada saat button
tersebut ditekan. Metode-metode ini dikenal dengan istilah event-handlers.
import java.awt.*;
import java.awt.event.*;
Bila kita ingin membuat sebuah frame maka class yang akan dibuat harus menurunkan sifat
dari class Frame. Perhatikan program berikut ini:
import java.awt.*;
import java.awt.event.*;
public class MyFrame extends Frame
{
public void paint(Graphics g)
{
g.drawString("Frame dengan AWT", 75, 100);
}
}
public class TutupFrame extends WindowAdapter
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
}
import java.awt.*;
import java.awt.event.*;
public class FrameDemo
{
public static final int WIDTH = 300;
public static final int HEIGHT = 200;
public static void main(String args[])
{
MyFrame mf = new MyFrame();
mf.setSize(WIDTH, HEIGHT);
TutupFrame tf = new TutupFrame();
mf.addWindowListener(tf);
mf.setVisible(true);
}
}
Penjelasan Program
Pada program FrameDemo diatas sebuah objek mf yang bertipe MyFrame. Melalui objek mf
itu metode setSize dieksekusi. Metode setSize merupakan method yang diturunkan (inherite)
dari class Frame yang berfungsi untuk menentukan ukuran dari frame yang ingin dibuat.
Dalam hal ini berukuran lebar 300 dan tinggi 200.
Untuk menutup window anda dapat menekan tombol X pada sudut kanan atas frame. Ketika
anda menekan tombol tersebut, frame mengerjakan event dan event mengirimkan aksi
tersebut ke listener object. Dalam hal ini sebuah listener object dibuat dengan nama tf bertipe
class TutupFrame yang menurunkan sifat dari class WindowAdapter (lihat class FrameDemo
baris ke 11). Untuk lebih jelas tentang class WindowAdapter lihat dokumentasi Java.
setVisible juga merupakan method yang telah didefine dalam class Frame. Akibat dari
statement mf.setVisible(true) adalah membuat frame menjadi terlihat dilayar. Jika parameter
false yang dikirim maka frame tidak akan telihat dilayar tetapi ada dalam memory.
Button, Rectangle, Graphics dan beberapa interface seperti interface ActionListener dan
MouseMotionListener. Untuk lebih dipahami, perhatikan program berikut ini dan hasilnya
dan diskusikan hasilnya.
Demo Program Scribble
import java.awt.*;
import java.awt.event.*;
public class Scribble extends Frame
implements ActionListener, MouseMotionListener
{
private int lastX = 0, lastY = 0;
private int x = 0, y = 0;
public Scribble() // Constructor
{
setSize(WIDTH, HEIGHT);
setTitle("Pelatihan Java AWT Lanjutan");
setBackground(Color.cyan);
setLayout(new BorderLayout());
Panel control = new Panel();
control.setLayout(new FlowLayout());
control.setBackground(Color.gray);
clear.addActionListener(this);
exit.addActionListener(this);
control.add(clear);
control.add(exit);
add("South",control);
addMouseMotionListener(this);
}
// Dibuat karena class ini meng-implements interface
// ActionListener
public void actionPerformed(ActionEvent e)
{
Rectangle r = getBounds();
Graphics g = getGraphics();
if(e.getActionCommand().equals("Clear"))
g.fillRect(0, 0, r.width, r.height);
}
else if(e.getActionCommand().equals("Exit"))
{
System.exit(0);
}
}
// Dibuat karena class ini implements interface
// MouseMotionListener
public void mouseMoved(MouseEvent e)
{
lastX = e.getX();
lastY = e.getY();
}
Graphics g = getGraphics();
x = e.getX();
y = e.getY();
g.drawLine(lastX, lastY, x, y);
lastX = x;
lastY = y;
}
// Tuliskan method main untuk menjalankan program
public static void main(String args[])
{
Scribble scrib = new Scribble();
scrib.setVisible(true);
}
}
0 komentar:
Posting Komentar