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

 Java Discussion :

Selection Multiple Jlist


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    215
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 215
    Par défaut Selection Multiple Jlist
    Bonjour,

    Je n'arrive pas à obtenir une jlist avec sélection d'item multiple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    	DefaultListModel listModel = new DefaultListModel();
     
     
    		for (int i = 0; i < CatTexte.size(); i++) 
                    {
     
    			listModel.add(i, CatTexte.get(i));
     
    	         }
     
    	Jlist listeCat = new JList((listModel) );
        listeCat.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION ); 
    this.panGCenter.add(listeCat);
    Avec ce code je ne peux pas faire plusieurs sélections dans la jlist

    Merci de votre aide

  2. #2
    Membre Expert
    Avatar de visiwi
    Profil pro
    Inscrit en
    Février 2008
    Messages
    1 050
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 1 050
    Par défaut
    Salut,

    Ben si ça fonctionne...
    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
    import javax.swing.DefaultListModel;
    import javax.swing.JFrame;
    import javax.swing.JList;
    import javax.swing.ListSelectionModel;
     
    public class Test {
     
    	public static void main(String[] args) {
    		JFrame frame = new JFrame();
    		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
     
    		DefaultListModel listModel = new DefaultListModel();
    		for (int i = 0; i < 10; i++) {
    			listModel.add(i, "élément "+i);
    	    }
    		JList listeCat = new JList((listModel) );
    		listeCat.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION ); 
    		frame.getContentPane().add(listeCat);
     
    		frame.pack();
    		frame.setLocationRelativeTo(null);
    		frame.setVisible(true);
    	}
     
    }

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    215
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 215
    Par défaut
    J'entends par multiple sélection :

    --> Je sélectionne dans la jlist l'élément1 avec clic gauche
    --> Element1 est sélectionné (fond bleu)
    --> Je sélectionne dans la jlist l'élément2 avec clic gauche
    --> Element2 est sélectionné (fond bleu)
    --> Element1 est toujours sélectionné (fond bleu)

    Moi quand je sélectionne le deuxième élément, uniquement ce dernier est sélectionné.

    Merci de ton aide

  4. #4
    Membre Expert
    Avatar de visiwi
    Profil pro
    Inscrit en
    Février 2008
    Messages
    1 050
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 1 050
    Par défaut
    Le mécanisme de sélection multiple se fait avec les touches CTRL (pour ajouter un unique élément) ou avec SHIFT (jusqu'à cet élément) en respectant cette façon de faire standard (en tout cas Win et Linux) auquel les utilisateurs sont habitués.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    215
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 215
    Par défaut
    D'accord merci de ta réponse.

    J'ai ajouté un ListSelectionListener sur la jlist :

    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
     
     listCat.addListSelectionListener(this);
     
    @Override
    public void valueChanged(ListSelectionEvent e) {
    	// TODO Auto-generated method stub
     
    	if(e.getSource()==this.listCat){ 
     
     
    		System.out.println("je choisi une catégorie");
     
     
    	}
     
     
     
    }
    Quand je clic sur un item de la Jliste, le message "je choisi une catégorie" s'affiche deux fois.

    Est-ce normal ??

    Merci

  6. #6
    Membre Expert
    Avatar de visiwi
    Profil pro
    Inscrit en
    Février 2008
    Messages
    1 050
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 1 050
    Par défaut
    Oui, cela est indiqué dans la Javadoc.
    Utilise la méthode getValueIsAdjusting() pour régler ça.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    @Override
    public void valueChanged(ListSelectionEvent e) {
    	if (e.getValueIsAdjusting()) {
    		if (e.getSource() == listeCat) { 
    			System.out.println("je choisi une catégorie");
    		}
    	}
    }

Discussions similaires

  1. Select multiple
    Par lfournial dans le forum Struts 1
    Réponses: 20
    Dernier message: 24/02/2011, 12h14
  2. selection multiple JList et récupération tableau d'objet
    Par allserv dans le forum Composants
    Réponses: 1
    Dernier message: 29/10/2008, 17h59
  3. [VB6] sélection multiple de colonne dans excel grâce à VB
    Par biquet dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 02/08/2004, 12h44
  4. <select multiple ...>
    Par ayobo dans le forum ASP
    Réponses: 2
    Dernier message: 06/07/2004, 08h49
  5. [C#]Sauvegarde d'une selection multiple d'une listbox?
    Par onouiri dans le forum ASP.NET
    Réponses: 7
    Dernier message: 29/04/2004, 17h16

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