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