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 :

Deselection de plusieurs Listes


Sujet :

Java

Vue hybride

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

    Informations forums :
    Inscription : Janvier 2008
    Messages : 154
    Par défaut Deselection de plusieurs Listes
    Bonjour,

    Je rencontre actuellement un problème par rapport à 3 listes.
    J'ai une frame qui contient 3 liste.(client, exercice,questionnaire)
    Quand je clique sur un client, j'affiche ses exercice, et lorsque je clique sur un exercice, j'affiche les questionnaire correspondant

    j'ai un peu galèrer mais ça fonctionne, le principe c'est que j'instancie une Jlist avec un model. et j'écoute les changement de mon modèle.

    Mon soucis : (exemple bidon)
    je clique sur client 1, un de ses exercice, et un des questionnaire.
    lorsque je vais cliquer sur le client2, l'exercice qui aura la meme position que celui sur lequel j'ai cliquer précédement sera lui aussi selectionner, et impossible d'avoir les exercice qui vont avec, il faut que je clique autre part pour pouvoir de nouveau recliquer sur lui.

    Alors ça marche quand j'ai plusieurs exercice pour un meme client mais admettons que j'ai uniquement un seul exercice, si j'ai cliquer sur le premier exercice du client précédent et bien je suis mal lol..

    Donc ma question comment est ce que je peux deselectionner ma Jlist?

  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,
    Il suffit d'appeler la méthode clearSelection() du ListSelectionModel.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    maJList.getSelectionModel().clearSelection();

  3. #3
    Membre expérimenté Avatar de erictoguem
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2006
    Messages
    150
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2006
    Messages : 150
    Par défaut
    setSelectedIndex(-1), je pense

  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
    Citation Envoyé par erictoguem Voir le message
    setSelectedIndex(-1), je pense
    Fausse pensée.

  5. #5
    Membre expérimenté Avatar de erictoguem
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2006
    Messages
    150
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2006
    Messages : 150
    Par défaut
    merci

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    154
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 154
    Par défaut
    Salut,

    merci pour vos réponse, j'avais essayer le clearselection, seulement il arrive qu'il me gènere une erreur ( erreur qui n'empeche pas le bon déroulement du programme) du coup j'ai mis un try catch, mais bon c'est un peu comme se voilé la face lol

    je vous met les 3 listener de mes 3 liste, je pense que le bug vient du fait qu'elles soient liée par leur "remplissage" ( l'attribution de valeurs aux 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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    public void valueChanged(ListSelectionEvent e) {
    				if (e.getValueIsAdjusting())
    					return;
     
    				exercicesModel.setExercices(clientsModel.getElementAt(
    						clientsList.getSelectedIndex()).getExercices());
    				//exercicesList.setSelectedIndices(new int[] {});
    				//exercicesList.repaint();
    				questionnaireList.setSelectedIndices(new int[] {});
    				questionnaireList.validate();
    				questionnairesmodel.setQuestionnaire(questVide);
    				exercicesList.clearSelection();
     
    			}
     
    		});
     
    		exercicesList.addListSelectionListener(new ListSelectionListener() {
     
    			@Override
    			public void valueChanged(ListSelectionEvent e) {
    				if (e.getValueIsAdjusting())
    					return;
    				try{
    				questionnairesmodel.setQuestionnaire(exercicesModel.getElementAt(exercicesList.getSelectedIndex()).getQuestionnaire());
    				}
    				catch(Exception ex)
    					{
    						System.out.println("je sais lol");
    					}
    				questionnaireList.setSelectedIndices(new int[] {});
    				questionnaireList.validate();
    				//System.out.println(exercicesModel.getElementAt(exercicesList.getSelectedIndex()).getQuestionnaire().size());
    				/*for(Questionnaire q : exercicesModel.getElementAt(exercicesList.getSelectedIndex()).getQuestionnaire())
    					System.out.println("id : "+q.getId()+" libelle "+q.getLibelle()+" ex de ref "+q.ExerciceRef());
    */				
    			}
     
    		});
     
    		questionnaireList.addListSelectionListener(new ListSelectionListener() {
     
    			@Override
    			public void valueChanged(ListSelectionEvent e) {
    				if (e.getValueIsAdjusting())
    					return;
    				try{
    				System.out.println(questionnaireList.getModel().getElementAt(questionnaireList.getSelectedIndex()));
    				}
    				catch(Exception ex){
    					System.out.println("je sais aussi");
    				}
    			questionnaireList.repaint();
     
    			}

    et je vous met une erreur si j'enleve par exemple le dernier try catch :
    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
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: -1
    	at java.util.ArrayList.get(Unknown Source)
    	at data.QuestionnairesModel.getElementAt(QuestionnairesModel.java:52)
    	at view.ClientsView$3.valueChanged(ClientsView.java:104)
    	at javax.swing.JList.fireSelectionValueChanged(Unknown Source)
    	at javax.swing.JList$ListSelectionHandler.valueChanged(Unknown Source)
    	at javax.swing.DefaultListSelectionModel.fireValueChanged(Unknown Source)
    	at javax.swing.DefaultListSelectionModel.fireValueChanged(Unknown Source)
    	at javax.swing.DefaultListSelectionModel.fireValueChanged(Unknown Source)
    	at javax.swing.DefaultListSelectionModel.changeSelection(Unknown Source)
    	at javax.swing.DefaultListSelectionModel.changeSelection(Unknown Source)
    	at javax.swing.DefaultListSelectionModel.removeSelectionIntervalImpl(Unknown Source)
    	at javax.swing.DefaultListSelectionModel.clearSelection(Unknown Source)
    	at javax.swing.JList.setSelectedIndices(Unknown Source)
    	at view.ClientsView$1.valueChanged(ClientsView.java:65)
    	at javax.swing.JList.fireSelectionValueChanged(Unknown Source)
    	at javax.swing.JList$ListSelectionHandler.valueChanged(Unknown Source)
    	at javax.swing.DefaultListSelectionModel.fireValueChanged(Unknown Source)
    	at javax.swing.DefaultListSelectionModel.fireValueChanged(Unknown Source)
    	at javax.swing.DefaultListSelectionModel.setValueIsAdjusting(Unknown Source)
    	at javax.swing.JList.setValueIsAdjusting(Unknown Source)
    	at javax.swing.plaf.basic.BasicListUI$Handler.mouseReleased(Unknown Source)
    	at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
    	at java.awt.Component.processMouseEvent(Unknown Source)
    	at javax.swing.JComponent.processMouseEvent(Unknown Source)
    	at java.awt.Component.processEvent(Unknown Source)
    	at java.awt.Container.processEvent(Unknown Source)
    	at java.awt.Component.dispatchEventImpl(Unknown Source)
    	at java.awt.Container.dispatchEventImpl(Unknown Source)
    	at java.awt.Component.dispatchEvent(Unknown Source)
    	at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
    	at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
    	at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
    	at java.awt.Container.dispatchEventImpl(Unknown Source)
    	at java.awt.Window.dispatchEventImpl(Unknown Source)
    	at java.awt.Component.dispatchEvent(Unknown Source)
    	at java.awt.EventQueue.dispatchEvent(Unknown Source)
    	at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
    	at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
    	at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
    	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    	at java.awt.EventDispatchThread.run(Unknown Source)
    voili voilou merci à vous

  7. #7
    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
    Essaie de faire ton exercicesList.clearSelection() avant tout autre chose.

Discussions similaires

  1. [AJAX] plusieurs listes liées
    Par highman dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 02/03/2007, 10h31
  2. gestion de plusieurs listes merci d'avance !
    Par ange458 dans le forum Struts 1
    Réponses: 3
    Dernier message: 26/09/2006, 10h55
  3. Formulaire avec plusieurs listes déroulantes
    Par cyberdevelopment dans le forum Langage
    Réponses: 5
    Dernier message: 17/07/2006, 16h59
  4. 1 Liste -> plusieurs listes
    Par Mil dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 11/01/2006, 15h11
  5. Plusieurs liste de choix dans 1 champs
    Par tek34 dans le forum IHM
    Réponses: 8
    Dernier message: 24/11/2005, 11h43

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