Download awt - Informatika Unsyiah

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
AWT
(ABSTRACT WINDOWS TOOLKITS)
Pendahuluan
Pada pertemuan kali ini, kita akan membahas paket AWT sebuah paket yang telah ada dalam
Java yang dapat digunakan untuk merancang GUI (Graphical User Interface). Programprogram 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.
Gambar di atas memperlihatkan sebuah dialog-box untuk mencetak pada aplikasi Word. Pada
gambar di atas anda dapat melihat komponen-komponen GUI seperti menu, button, radio
button, list-box dan lain-lain. Sebuah button (tombol) dapat ditekan dengan mouse dan
memiliki tulisan yang merepresentasikan arti dari tombol tersebut.
Author: Taufik Fuadi Abidin, M.Tech @ 2002
1
Permograman Secara Event-Driven
Program AWT dirancang menggunakan event dan event-handlers. Sebuah event merupakan
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.
Contoh Window Sederhana
Untuk dapat menggunakan AWT diperlukan paket awt sebagai berikut:
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);
}
}
import java.awt.*;
import java.awt.event.*;
public class TutupFrame extends WindowAdapter
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
}
Author: Taufik Fuadi Abidin, M.Tech @ 2002
2
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);
}
}
Output dari program di atas bila dijalankan berbentuk kira-kira:
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.
Author: Taufik Fuadi Abidin, M.Tech @ 2002
3
Komponen AWT Yang Lain
Pada contoh berikut ini class yang digunakan tidak hanya Frame, tetapi juga class Panel,
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 final int WIDTH = 600;
private final int HEIGHT = 300;
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);
Button clear = new Button("Clear");
Button exit = new Button("Exit");
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"))
Author: Taufik Fuadi Abidin, M.Tech @ 2002
4
{
g.setColor(getBackground());
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();
}
public void mouseDragged(MouseEvent e)
{
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);
}
}
Author: Taufik Fuadi Abidin, M.Tech @ 2002
5
Bila program ini dijalankan anda akan melihat gambar sebagai berikut:
Jika tombol Clear ditekan maka tampilan akan menjadi:
Sedangkan bila tombol Exit ditekan maka editor Scribble akan tertutup dan di-free dari
memori.
Author: Taufik Fuadi Abidin, M.Tech @ 2002
6