Pourquoi un ajout obligatoire de méthode avec MouseListener ?

Pourquoi un ajout obligatoire de méthode avec MouseListener ? - Java - Programmation

Marsh Posté le 21-02-2013 à 16:56:05    

Bonjour,  
 
Je ne comprend pas pourquoi il est obligatoire d'ajouter des méthode non implémentée quand j'utilise l'interface MouseListener.
 
Voici le bout de code qui pose problème:  
 

Code :
  1. public class guiTest extends JFrame implements ActionListener, WindowListener, MouseListener {
  2.     public void mouseClicked(MouseEvent e){
  3.         System.out.println(e.getButton());
  4.     }
  5. addMouseListener(this);
  6. @Override
  7.     public void mouseEntered(MouseEvent e) {
  8.    // TODO Auto-generated method stub
  9. }
  10.     @Override
  11.     public void mouseExited(MouseEvent e) {
  12.         // TODO Auto-generated method stub
  13.        
  14.     }
  15.     @Override
  16.     public void mousePressed(MouseEvent e) {
  17.         // TODO Auto-generated method stub
  18.        
  19.     }
  20.     @Override
  21.     public void mouseReleased(MouseEvent e) {
  22.         // TODO Auto-generated method stub


 
         
Dans ce cas, ça fonctionne, mais si je n'ajoute toutes les méthodes dont je ne me sers pas (mouseReleased etc...), j'ai des erreurs AWT dans la console.
 
Donc ma question, pourquoi suis-je obligé d'écrire ces méthodes ?
 
Merci d'avance.

Reply

Marsh Posté le 21-02-2013 à 16:56:05   

Reply

Marsh Posté le 21-02-2013 à 17:26:15    

C'est le principe d'une interface.

 

Sinon il existe des classes *Adapter que tu peux étendre et là tu ne surcharges que ce qui t'intéresse.

 

edit: http://docs.oracle.com/javase/6/do [...] apter.html


Message édité par boulax le 21-02-2013 à 17:27:34

---------------
Posté depuis des chiottes, sales. Me gusta.
Reply

Marsh Posté le 22-02-2013 à 00:25:47    

Ok, merci, je ne pensais qu'il fallait implémenter toutes les méthode d'une interface.  
 
Résolu!

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed