Java : questions générales

Bonjour,
j'aurais quelques questions sur java car ca fait longtemps que je n'en ai pas fait et je m'y remets un peu :

1. Le transtypage est il percu comme une mauvaise méthode de programmation ?
Par exemple, si je fais :
public class MouseBListener extends MouseAdapter
{
...
((JButton)e.getComponent())
...


2. Peut-on définir un constructeur pour un listener ?

3. Les Optimisations en java :
Si j'ai les 2 lignes suivantes :
System.out.println(((JButton)e.getComponent()).getText());
((JButton)e.getComponent()).setBackground(Color.red);


Que fait java ? il met ((JButton)e.getComponent()) dans une variable temporaire ou il refait 2 fois l'acquisition du pointeur ?

Enfin, je suis dans mon listener (plus précisément, dans la méthode MouseClicked de mon MouseListener).
Je veux récupérer un pointeur sur l'instance de classe qui a appelé le listener. Quelle est la méthode à utiliser ?

Merci

3 réponses

  1. Salut,

    1. Non, en aucun cas.

    2. Bien entendu pourquoi pas?

    3. Il refait deux fois l'aquisition du pointeur.

    4. getSource() ou getComponent()

    Et voilà.
    1. Contributeur
      2. par contre il faut faire une classe qui étend la classe listener non ?
      1. Ce n'est pas nécessaire, il est possible d'implémenter l'interface du listener que l'on désire "remplacer".