Alors j'ai essayé de reproduire une partie du test de la méthode test_lierJButtonEtActionListener() de la question2.
J'instancie donc un JButton (jb) et un ActionListener (obs) et je demande ensuite l'affichage de leur classe avec getClass().
Mais la méthode getClass() ne marche que dans un seul cas (avec le JButton). Pourquoi ça ne marche pas avec l'ActionListener ?
Voici le code (je met tout ce code dans une classe Main):
Code : Tout sélectionner
JButton jb = new JButton();
ActionListener obs = new ActionListener(){
public void actionPerformed(ActionEvent ae){
}
};
System.out.println("Classe du JButton : " + jb.getClass());
System.out.println("Classe du listener : " + obs.getClass());
Code : Tout sélectionner
Classe du JButton : class javax.swing.JButton
Classe du listener : class question2.Main$1
Mais je ne comprends pas le second affichage. Pourquoi il me dit que la classe du listener est class question2.Main$1.
Je comprends mieux pourquoi le test de la méthode lierSourceEtListener ne passe pas, car la première chose que je fais dans la méthode lierSourceEtListener c'est de demander la classe du listener avec getClass(). Donc tout le reste ne fonctionnera pas.
J'attends une explication.
Merci.