IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

avec Java Discussion :

[Débutant] ActionListener personnalisé


Sujet :

avec Java

  1. #1
    Membre à l'essai
    Homme Profil pro
    Debutant Java
    Inscrit en
    Avril 2015
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Debutant Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2015
    Messages : 11
    Points : 11
    Points
    11
    Par défaut [Débutant] ActionListener personnalisé
    Bonjour à tous

    Je tente de créer un ActionListener personnalisé dans une autre class afin de rendre mon code plus claire et propre.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    //Au lieu de faire des classes anonymes tel que : 
    item3.addActionListener(new ActionListener(){
      public void actionPerformed(ActionEvent arg0) {
    System.exit(0);}});
     
    // Je souhaite passer par une autre classe tel que
     
    item3.addActionListener (new ActionListenerPerso("fermer"));
     
    //la classe ActionListenerPerso dans une autre fenetre (fichier java)
    package trouvePaires;
     
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
     
    public class ActionListenerPerso implements ActionListener {
     
    	private String action;
     
    public ActionListenerPerso(String Action) {
    	action = Action;
    }
     
    public void actionPerformed(ActionEvent e ) {
     
    	if ( action.equals("fermer") ) {
    		System.exit(0);
    	}
            if ...
    }
    }
    Mais le problème de cette solution est de passer par un if afin de tester le contenu du string "action".
    N'existe il pas un moyen de faire un truc du style : public void actionPerformed(ActionEvent e , String "fermer") { ???

  2. #2
    Membre éprouvé Avatar de Jidefix
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    742
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Septembre 2006
    Messages : 742
    Points : 1 154
    Points
    1 154
    Par défaut
    Bonjour,
    sur la plupart des composants Swing (JButton, JTextField, JCombobox...), il y a une méthode setActionCommand.
    Tu peux récupérer cette valeur dans le ActionEvent du actionPerformed.

    Ainsi au lieu d'instancier un actionListener par objet, tu peux n'en créer qu'un seul, sans paramètre, et changer son actionPerformed pour que ça ressemble à ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
     
    ...
    item3.setActionCommand("fermer");
    ...
     
     
    public class ActionListenerPerso implements ActionListener {
     
    	//private String action;
     
    /*public ActionListenerPerso(String Action) {
    	action = Action;
    }*/
     
    public void actionPerformed(ActionEvent e ) {
     
    	if ( e.getActionCommand().equals("fermer") ) {
    		System.exit(0);
    	}
            if ...
    }
    }
    Tu pourrais aussi récupérer l'objet ayant déclenché l'action en faisant e.getSource() et en faisant des tests dessus.

Discussions similaires

  1. [Débutant++] Plugin Eclipse editeur personnalisé
    Par cyberny dans le forum Eclipse Platform
    Réponses: 6
    Dernier message: 29/09/2008, 10h50
  2. [Débutant] Filtrage personnalisé
    Par Blobette dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 20/03/2008, 11h49
  3. Réponses: 8
    Dernier message: 28/08/2007, 14h29
  4. [débutant]ActionListener + IOException
    Par gillou13 dans le forum Langage
    Réponses: 9
    Dernier message: 30/05/2006, 17h23
  5. [débutant][swing][JButton][ActionListener]
    Par cmoa59 dans le forum Composants
    Réponses: 6
    Dernier message: 25/05/2005, 15h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo