[Résolu][Java] ActionListener, actionPerformed

ActionListener, actionPerformed [Résolu][Java] - Java - Programmation

Marsh Posté le 04-05-2004 à 09:38:06    

Bonjour, j'ai un petit soucis avec le ActionListenner.
Je reprends actuellement un code existant (que je ne maitrise pas totalement). Il s'agit d'une appli Java visuel (JFrame), et lorsque dans cette appli j'ajoute une nouvelle fenetre l'ActionListenner ne fonctionne pas correctement, je m'explique.
Voici un bout de code simple que j'aimerai inserer :

Code :
  1. /* choix couleur */
  2. JButton colorButton = new JButton("Couleur" );
  3. panelM.add(colorButton) ;
  4. colorButton.addActionListener(this) ;
  5. ....
  6. ....
  7. ....
  8. public void actionPerformed (ActionEvent e)
  9. {
  10.      if (e.getSource() == m_colorButton)
  11. System.out.println("Ca passe" );
  12. }


 
Bien si je fais cela le click sur mon bouton est completement ignoré, en regardant le code de plus pres, j'ai vu qu'ils utilisaient cette facon de faire :
 

Code :
  1. ButEnd = new JButton();
  2.       ButEnd.setActionCommand(endString);
  3.       ButEnd.addActionListener(this);
  4. .....
  5. .....
  6. .....
  7. public void actionPerformed(ActionEvent e)
  8. {
  9.     String str = e.getActionCommand();
  10.     if (str.equals(endString))
  11.       {....}
  12. }


 
Qqun peut il m'éclairer sur cette facon de faire, et si c'est normal que ma premiere solution ne fonctionne pas ?
 
Merci bien.


Message édité par ArchFolken le 04-05-2004 à 10:49:03
Reply

Marsh Posté le 04-05-2004 à 09:38:06   

Reply

Marsh Posté le 04-05-2004 à 10:34:11    

ben ca m'étonne pas que ton truc marche pas vu que tu affecte ton ACtionListener à la variable "colorButton" et que dedans tu testes si la source est m_colorButton. A moins que les objet derrière ces 2 variables soient le même, ca peut pas marcher ...
 
Sinon, dans la 2e méthode, plutot que de comparer les instance d'objet, il passe par une chaine de caractère. Ca revient à peu prêt au même ...


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 04-05-2004 à 10:37:50    

J'ai juste fait une erreur de copier/coller, merci pour ton éclaircissement.

Reply

Sujets relatifs:

Leave a Replay

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