Java in delo z miško


V tej lekciji bomo grobo razložili vmesnik  MouseListener (poslušalec miške). Vmesnike je težko razložiti. So kot nekakšni adapterji, ki omogočajo komunikacijo med povsem različnimi objekti.

Metode MouseListener 

MouseListener  ima naslednje metode .

public void mousePressed(MouseEvent e){} 
public void mouseClicked(MouseEvent e){} 
public void mouseEntered(MouseEvent e){} 
public void mouseExited(MouseEvent e){} 
public void mouseReleased(MouseEvent e){} 

Uporabo nekega vmesnika napovemo z besedico "implements" v deklaraciji razreda, ki dani vmesnik uporabi.  Uporabiti (implementirati) moramo VSE metode tega vmesnika (četudi so brez kode, prazne, ker jih morda v resnici ne potrebujemo). 

Primer:

import java.awt.*; 
import java.awt.event.*;
import java.applet.*; 
 
public class TestMiske extends Applet implements MouseListener{ 
   int x, y ; 
   String tracer;
   public void init(){ 
          addMouseListener(this);
          setBackground(Color.red);
   } 
   public void mousePressed(MouseEvent e){ 
      x = e.getX() - 10; 
      y = e.getY() - 10; 
      tracer = " x = " + x + " y = " + y;
      // ponovno narisi aplet.. 
      repaint(); 
   } 
   // Ker ne rabimo, pustimo prazno..
   public void mouseClicked(MouseEvent e){} 
   public void mouseEntered(MouseEvent e){} 
   public void mouseExited(MouseEvent e){} 
   public void mouseReleased(MouseEvent e){} 
   // metoda paint
   public void paint(Graphics g){ 
            g.drawString(tracer, 100 , 100);
               g.drawOval(x,y,20,20); 
   } 
}
 

 

V tem primeru smo dejansko uporabiili le metodo mousePressed. Ko pride do pritiska na miško, ugotovimo položaj koordinar miške v tem trenutku in na tem mestu želimo narisati krog.  Kako to izgleda vidimo tu.