Contoh Program dengan AWT lanjutan

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.

coding :
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:


0 komentar:

Poskan Komentar