2010-11-20 14 views
1

Je veux un MouseListener pour un JPanel à l'intérieur d'un JTabbedPane dans un JFrame ...
Je veux qu'il imprime quelque chose, chaque fois que l'utilisateur clique ou appuie sur la souris.
J'ai essayé de regarder autour, mais quand je tente de le mettre en œuvre, je suis une erreur sur cette ligne:Mouse event e (Jpanel) Java help

public class GUI implements ActionListener, MouseListener 

Et c'est l'erreur:

GUI is not abstract and does not override abstract method mouseExited(java.awt.event.MouseEvent) in java.awt.event.MouseListener

Qu'est-ce que cela signifie?

P.S (le bit JPanel/tab je le veux s'appelle: displayMainPanel)
Merci beaucoup.

Répondre

2
JPanel jPanel = new JPanel(); 
jPanel.addMouseListener(new java.awt.event.MouseAdapter() { 
       public void mouseClicked(java.awt.event.MouseEvent evt) { 
        System.out.println("mouseClicked"); 
       } 
       public void mouseEntered(java.awt.event.MouseEvent evt) { 
        System.out.println("mouseEntered"); 
       } 
       public void mouseExited(java.awt.event.MouseEvent evt) { 
        System.out.println("mouseExited"); 
       } 
       public void mousePressed(java.awt.event.MouseEvent evt) { 
        System.out.println("mousePressed"); 
       } 
       public void mouseReleased(java.awt.event.MouseEvent evt) { 
        System.out.println("mouseReleased"); 
       } 
      }); 
+0

semble fonctionner grâce. –

2

Eh bien, vous devez remplacer mouseExit:

Dans votre GUI classe:

@Override 
public void mouseExit(MouseEvent e) { /* Do nothing */ } 

Lorsque toutes les erreurs ont disparu. Ne pas oublier de yourPanel.addMouseListener(theMouseListener):

yourPanel.addMouseListener(theObjectOfTheClassWhichImplementsTheListener); 

puis définissez la mise au point d'un panneau, pour être sûr que les événements seront pris.

yourPanel.requestFocus();