Mouse listener olaylarını örneklendirecek olursak; sabit bir applet boyu oluşturalım. İçerisine dikdörtgen şekli çizelim. Applet sınırlarına faremiz ile gelindiğinde ve Applet içinde olduğumuzda, panelde "mouse applet içinde" yazdıralım, fare ile Applet dışına çıktığımızda ise "mouse applet dışında" yazdıralım. Applet'de herhangi bir yere tıkladığımızda, tıklanan koordinat mouseClicked fonksiyonu içerisinde yazılan kod ile alınıp, Applet'e yazdırılsın.
Bu örneğin Java kodu aşağıdaki gibidir.
import java.awt.*; import java.applet.*; import java.awt.event.*; public class MouseClickTesting extends Applet implements MouseListener { int xcoor; int ycoor; int rectxcoor,rectycoor,rectwidth,rectheight; boolean mouseEnter; boolean rectClick; public void init() { rectxcoor = 20; rectycoor = 20; rectwidth = 100; rectheight = 50; addMouseListener(this); } public void paint(Graphics g) { this.resize(500, 300); g.setColor(Color.red); g.fillRect(rectxcoor,rectycoor,rectwidth,rectheight); g.setColor(Color.black); g.drawString("("+xcoor+","+ycoor+")",xcoor,ycoor); if (rectClick) g.drawString("Dikdörtgen icine tikladiniz",20,120); else g.drawString("Dikdörtgen disina tikladiniz",20,120); if (mouseEnter) g.drawString("Mouse applet icinde",20,160); else g.drawString("Mouse applet disinda",20,160); } public void mouseClicked (MouseEvent me) { xcoor = me.getX(); ycoor = me.getY(); if (xcoor > rectxcoor && xcoor < rectxcoor+rectwidth && ycoor >rectycoor && ycoor < rectycoor+rectheight) rectClick = true; else rectClick = false; repaint(); } public void mousePressed (MouseEvent me) {} public void mouseReleased (MouseEvent me) {} public void mouseEntered (MouseEvent me) { mouseEnter = true; repaint(); } public void mouseExited (MouseEvent me) { mouseEnter = false; repaint(); } }
Kolay gelsin.
0 yorum:
Yorum Gönder