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

Composants Java Discussion :

listener +jbutton +jlist


Sujet :

Composants Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Inscrit en
    Avril 2008
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 11
    Par défaut listener +jbutton +jlist
    bonjour
    j'ai une interface graphique avec deux JLists l1 et l2 et un JButton, je veux mettre un listener sur le JButton pour que qd je clique dessus, l'élément séléctionné de la JList l1 vienne s ajouter dans la liste l2, mais ça ne marche pas....
    voici le code en java (v est le vecteur qui gènère l2)

    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
    import java.awt.event.ActionListener; 
    import java.awt.event.ActionEvent; 
    import javax.swing.JList;
    import javax.swing.JTextArea;
     
    public void ajouter_actionPerformed(ActionEvent event)  { 
        	    Object s = new Object();
        	    s = l1.getSelectedValue();
        	    v.addElement(s);
     
        	  } 
     
     
    public class listener1  { 
      private JList l1;
      private JList l2;
      public listener1(JList maListe, JList monText) {
    	  l1 = maListe;
    	  l2 = monText;
    	  }
     
      class MaFenetre_search_actionAdapter implements java.awt.event.ActionListener {
    	  MaFenetre adaptee;
     
    	  MaFenetre_search_actionAdapter(MaFenetre adaptee) {
    	     this.adaptee = adaptee;
    	  }
    	  public void actionPerformed(ActionEvent event) {
    	     adaptee.ajouter_actionPerformed(event);
    	  }
    	  }
    et dans la classe MaFenetre j'ai mis ce bout de code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     JButton b6 = new JButton("Ajouter");
        	 b6.addActionListener(new MaFenetre_search_actionAdapter(this));
    comme c'est le 1er listener que je pose de ma vie...ça m étonnerais pas que ça soit tout foireux...merci d'avance pour votre aide

  2. #2
    Membre chevronné Avatar de Jabbal'H
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2004
    Messages
    403
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2004
    Messages : 403
    Par défaut
    Bonjour,
    Euh ton code doit pas être dans le bon ordre je pense, ou il manque des bouts.

    Tu as deux solutions, soit creer ton model de JList (en etendant DefaultListModel)
    ou alors utiliser la méthode setListData des JList et luis passer ton vector

    La méthode avec le modele me semble la plus propre

  3. #3
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Avril 2008
    Messages
    69
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2008
    Messages : 69
    Par défaut
    j'ai pas trop compris ton code mais je pense que tu cherche compliqué.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    public void ajouter_actionPerformed(ActionEvent event)  { 
             if(event.getSource==b6){
                    defaultModelList2.addElement(list1.getSelectedValue());
             }
    }
    bien sur il faut que tu crées tes Jlist avec des model exemple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    DefaultModelList modelListe = new DefaultModelList();
    JListe l1 = new JList(modelListe);
    et pour remplir ta liste tu passe par ton model

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    modelListe.addElement("toto");
    modelListe.addElement("tata");
    ...

  4. #4
    Membre habitué
    Inscrit en
    Avril 2008
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 11
    Par défaut
    bonsoir,
    merci bcp pour vos réponses, j ai fait les changements que vous m avez proposés, je n'ai plus d erreurs mais rien ne se passe non plus quand je clique sur mon bouton...
    voici le code corrigé:

    Un bout du code de ma classe "MaFenetre"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    DefaultListModel listModel = new DefaultListModel();
        	 JList l1 = new JList(listModel);
    DefaultListModel v = new DefaultListModel();
        JList l2 = new JList (v);
    JButton b6 = new JButton("Ajouter");
        	 b6.addActionListener(this);

    Et puis le listener:

    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
    class Ajouter implements ActionListener{
         public void actionPerformed(ActionEvent event)  { 
             if(event.getSource().equals(b6)){
                    v.addElement(l.getSelectedValue());
             }
         }
    }
         public interface ActionListener extends EventListener{
        	 public void actionPerformed(ActionEvent event);
         }
     
     
     
     
    	public static void main (String [] arg ){
    		MaFenetre mainWindow = new MaFenetre();

  5. #5
    Membre éclairé
    Inscrit en
    Avril 2008
    Messages
    43
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Avril 2008
    Messages : 43
    Par défaut
    Salut,

    Peux-tu essayer ça?
    Remplace ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    b6.addActionListener(this);
    Par ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    b6.addActionListener(new Ajouter());

  6. #6
    Membre habitué
    Inscrit en
    Avril 2008
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 11
    Par défaut
    ben quand je fais ça eclipse me dit que c'est une erreur ...il me propose de changer en b6.addActionListener(new (ActionListener) Ajouter); mais meme quand je fais ça il me dit qu'il y a toujours une erreur mais sans autre proposition..... (deprime..)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Mouse Listener sur JList non catché ponctuellement
    Par Akryos-K dans le forum Composants
    Réponses: 3
    Dernier message: 04/05/2011, 08h48
  2. JList listener de selection
    Par Invité dans le forum Composants
    Réponses: 2
    Dernier message: 08/06/2006, 08h35
  3. Réponses: 6
    Dernier message: 29/03/2006, 17h23
  4. [Jlist][DefaultListModel] Listener sur ajout d'éléments
    Par Invité dans le forum Composants
    Réponses: 2
    Dernier message: 23/03/2006, 14h32
  5. [JList] problème avec 2 listeners
    Par papy_tergnier dans le forum Composants
    Réponses: 2
    Dernier message: 21/06/2004, 10h05

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