Bonjour,

Je n'ai pas trouvé de solution pour le problème suivant.

J'ai défini une JList. Lorsque je double-clic sur une ligne je veux exécuter la méthode "retour();"
Par contre avec un simple clic je souhaite soit sélectionner une ou plusieurs lignes, soit les dé-sélectionner.

Pour ce faire, j'ai défini un listener et un modèle mais c'est toujours une déselection qui survient même si je double clique.


Plutôt que d'avoir un listener, peut-on tester l'exécution d'un double clic dans une méthode du modèle. Toutes suggestions seront les bienvenues.


Merci d'avance

Gégé

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
 
 
                        Personnes = new JList();
			Personnes.setName("Personnes");
			Personnes.setFont(new java.awt.Font("Arial", 1, 12));
			Personnes.setForeground(java.awt.Color.white);
			Personnes.setDragEnabled(false);
 
 
 
                Personnes.addMouseListener(new MouseAdapter() 
		{
			public void mouseClicked(MouseEvent e)
			{
			   if ( e.getClickCount() == 2) 
			   {
				 	 retour();
			   }
			}
		});
 
 
                Personnes.setSelectionModel(new DefaultListSelectionModel() 
		 {
			private static final long serialVersionUID = 1L;
 
			public void setSelectionInterval(int index0, int index1) {
		        if (index0 == index1) {
		          if (isSelectedIndex(index0)) {
		            removeSelectionInterval(index0, index0);
		            return;
		          }
		        }
		        super.setSelectionInterval(index0, index1);
		      }
 
		      @Override
		      public void addSelectionInterval(int index0, int index1) {
		        if (index0 == index1) {
		          if (isSelectedIndex(index0)) {
		            removeSelectionInterval(index0, index0);
		            return;
		          }
		          super.addSelectionInterval(index0, index1);
		        }
		      }
 
		    });