Saturday, March 10, 2012

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:


Saenggakkhae . 2017 Copyright. All rights reserved. Designed by Blogger Template