// Menangani event mouse pada jendela anak dan jendela applet.
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
/*
<applet code="DemoEventMouseJendelaAppletDanFrame" width=300 height=50>
</applet>
*/
// Menciptakan sebuah subkelas dari Frame.
class FrameSederhana extends Frame
implements MouseListener, MouseMotionListener {
String psn = "";
int mouseX=10, mouseY=40;
int movX=0, movY=0;
FrameSederhana(String judul) {
super(judul);
// meregister objek ini untuk menerima event mouse
addMouseListener(this);
addMouseMotionListener(this);
// menciptakan sebuah objek untuk menangani event jendela
AdapterJendelaKu adapter = new AdapterJendelaKu(this);
// meregisternya untuk menerima event jendela
addWindowListener(adapter);
}
// Menangani mouse ketika diklik.
public void mouseClicked(MouseEvent me) {
}
// Menangani mouse ketika memasuki jendela.
public void mouseEntered(MouseEvent evtObj) {
// menyimpan koordinat
mouseX = 10;
mouseY = 54;
psn = "Mouse memasuki jendela anak.";
repaint();
}
// Menangani mouse ketika keluar jendela.
public void mouseExited(MouseEvent evtObj) {
// menyimpan koordinat
mouseX = 10;
mouseY = 54;
psn = "Mouse keluar dari jendela anak.";
repaint();
}
// Menangani mouse ketika ditekan.
public void mousePressed(MouseEvent me) {
// menyimpan koordinat
mouseX = me.getX();
mouseY = me.getY();
psn = "Ditekan";
repaint();
}
// Menangani mouse ketika tombolnya dilepaskan.
public void mouseReleased(MouseEvent me) {
// menyimpan koordinat
mouseX = me.getX();
mouseY = me.getY();
psn = "Dilepas";
repaint();
}
// Menangani ketika mouse digeret.
public void mouseDragged(MouseEvent me) {
// menyimpan koordinat
mouseX = me.getX();
mouseY = me.getY();
movX = me.getX();
movY = me.getY();
psn = "*";
repaint();
}
// Menangani mouse ketika berpindah.
public void mouseMoved(MouseEvent me) {
// menyimpan koordinat
movX = me.getX();
movY = me.getY();
repaint(0, 0, 100, 60);
}
public void paint(Graphics g) {
g.drawString(psn, mouseX, mouseY);
g.drawString("Mouse pada " + movX + ", " + movY, 10, 40);
}
}
class AdapterJendelaKu extends WindowAdapter {
FrameSederhana frameSederhana;
public AdapterJendelaKu(FrameSederhana frameSederhana) {
this.frameSederhana = frameSederhana;
}
public void windowClosing(WindowEvent we) {
frameSederhana.setVisible(false);
}
}
// Jendela applet.
public class DemoEventMouseJendelaAppletDanFrame extends Applet
implements MouseListener, MouseMotionListener {
FrameSederhana f;
String psn = "";
int mouseX=0, mouseY=10;
int movX=0, movY=0;
// Menciptakan sebuah jendela frame.
public void init() {
f = new FrameSederhana("Menangani Event Mouse");
f.setSize(300, 200);
f.setVisible(true);
// meregister objek ini ketika menerima event mouse
addMouseListener(this);
addMouseMotionListener(this);
}
// Menghapus jendela frame ketika applet berhenti.
public void stop() {
f.setVisible(false);
}
// Menampilkan jendela frame ketika applet dimulai.
public void start() {
f.setVisible(true);
}
// Menangani ketika mouse diklik.
public void mouseClicked(MouseEvent me) {
}
// Menangani mouse ketika memasuki jendela.
public void mouseEntered(MouseEvent me) {
// menyimpan koordinat
mouseX = 0;
mouseY = 24;
psn = "Mouse memasuki jendela applet.";
repaint();
}
// Menangani mouse ketika keluar jendela applet.
public void mouseExited(MouseEvent me) {
// menyimpan koordinat
mouseX = 0;
mouseY = 24;
psn = "Mouse keluar jendela applet.";
repaint();
}
// Menangani ketika tombol mouse ditekan.
public void mousePressed(MouseEvent me) {
// menyimpan koordinat
mouseX = me.getX();
mouseY = me.getY();
psn = "Ditekan";
repaint();
}
// Menangani ketika tombol mouse dilepaskan.
public void mouseReleased(MouseEvent me) {
// menyimpan koordinat
mouseX = me.getX();
mouseY = me.getY();
psn = "Delepaskan";
repaint();
}
// Menangani ketika mouse digeret.
public void mouseDragged(MouseEvent me) {
// menyimpan koordinat
mouseX = me.getX();
mouseY = me.getY();
movX = me.getX();
movY = me.getY();
psn = "*";
repaint();
}
// Menangani ketika mouse berpindah.
public void mouseMoved(MouseEvent me) {
// menyimpan koordinat
movX = me.getX();
movY = me.getY();
repaint(0, 0, 100, 20);
}
// Menampilkan psn pada jendela applet.
public void paint(Graphics g) {
g.drawString(psn, mouseX, mouseY);
g.drawString("Mouse pada " + movX + ", " + movY, 0, 10);
}
}
Hasilnya:
0 komentar:
Posting Komentar