Blogroll

About

Diberdayakan oleh Blogger.

Followers

About Me

Foto Saya
azalika
Malang, Jawa Timur, Indonesia
Lihat profil lengkapku

Categories

RSS

Pages

AWT (ABSTRACT WINDOWS TOOLKITS)

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.




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.

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

 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.

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"))
    {
      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);
  }
}

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.

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

0 komentar:

Posting Komentar