Sellection multiple
Résolu/Fermé
A voir également:
- Sellection multiple
- Liste déroulante choix multiple excel - Guide
- Ecran multiple pc - Guide
- Windows presse papier multiple - Guide
- Formule excel multiple d'un nombre ✓ - Forum Excel
- Paris multiple 2/6 explication ✓ - Forum Loisirs / Divertissements
3 réponses
Il suffit de spécifier :
puis de les récupérer dans un tableau avec :
jList1.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
puis de les récupérer dans un tableau avec :
jList1.getSelectedValues()
merci pour cette piste mais ça ne fonctionne pas, la sélection se fait tjr sur le premier élément
KX
Messages postés
16754
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 020
Modifié par KX le 10/06/2013 à 22:21
Modifié par KX le 10/06/2013 à 22:21
Il ne faut pas confondre la méthode getSelectedValue() qui renvoie le premier élément sélectionné et la méthode getSelectedValues() dont parle Flog78 qui renvoie elle un tableau avec tous les éléments sélectionnés.
PS. getSelectedValues() est dépréciée depuis Java 7 et l'apparition de getSelectedValuesList()
PS. getSelectedValues() est dépréciée depuis Java 7 et l'apparition de getSelectedValuesList()
j'ai fait ceci mais ça ne fonctionne pas mieux
void jButton1_actionPerformed(ActionEvent e) {
jList1.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
ArrayList<String> tab = new ArrayList<String>();
tab.add(jList1.getSelectedValue().toString());
for (int i=0; i < tab.size() ; i++){
jTextArea1.append (tab.get(i)); // ajout de l'élément sélectionné
jTextArea1.append ("\n");
}
}
void jButton1_actionPerformed(ActionEvent e) {
jList1.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
ArrayList<String> tab = new ArrayList<String>();
tab.add(jList1.getSelectedValue().toString());
for (int i=0; i < tab.size() ; i++){
jTextArea1.append (tab.get(i)); // ajout de l'élément sélectionné
jTextArea1.append ("\n");
}
}
KX
Messages postés
16754
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 020
11 juin 2013 à 05:45
11 juin 2013 à 05:45
"getSelectedValues() me renvoie un String style : [Ljava.lang.Object;"
C'est parce que c'est un tableau comme je l'expliquais hier, or un tableau ne peux pas être affiché avec toString, il faut afficher ses cases une par une...
Remarque : il est généralement bon de paramétrer ton JList avec le type d'élément qu'in contient, en l'occurrence dans ton cas des String. Tu n'as alors plus à faire explicitement la conversion de Object à String avec toString(), car tu manipuleras toujours directement des String.
C'est parce que c'est un tableau comme je l'expliquais hier, or un tableau ne peux pas être affiché avec toString, il faut afficher ses cases une par une...
void jButton1_actionPerformed(ActionEvent e) { for (Object obj : jList1.getSelectedValuesList()) jTextArea1.append(obj.toString()+"\n"); }
Remarque : il est généralement bon de paramétrer ton JList avec le type d'élément qu'in contient, en l'occurrence dans ton cas des String. Tu n'as alors plus à faire explicitement la conversion de Object à String avec toString(), car tu manipuleras toujours directement des String.
JList<String> jList1 = new JList<String>(); jList1.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION); ... void jButton1_actionPerformed(ActionEvent e) { for (String str : jList1.getSelectedValuesList()) jTextArea1.append(str+"\n"); }
KX
Messages postés
16754
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 020
11 juin 2013 à 14:53
11 juin 2013 à 14:53
Comme je l'expliquais hier, getSelectedValuesList() est nouveau à Java 7, si tu codes en Java 6 ou moins, tu dois te contenter de getSelectedValues() qui fonctionne pareil :
Remarque : Java 6 n'est plus soutenu par Oracle, il vaudrait mieux passer à Java 7...
void jButton1_actionPerformed(ActionEvent e) { for (String str : jList1.getSelectedValues()) jTextArea1.append(str+"\n"); }
Remarque : Java 6 n'est plus soutenu par Oracle, il vaudrait mieux passer à Java 7...
je ne comprends vraiment pas :
voilà maintenant les messages que j'ai (incompatible type)
Cadre1.java:84: incompatible types
found : java.lang.Object
required: java.lang.String
for (String str : jList1.getSelectedValues())
^
1 error
quand je fais JList<String> j'ai le message suivant :
Cadre1.java:11: type javax.swing.JList does not take parameters
JList<String> jList1 = new JList<String>();
^
Cadre1.java:11: type javax.swing.JList does not take parameters
JList<String> jList1 = new JList<String>();
^
2 errors
voilà maintenant les messages que j'ai (incompatible type)
Cadre1.java:84: incompatible types
found : java.lang.Object
required: java.lang.String
for (String str : jList1.getSelectedValues())
^
1 error
quand je fais JList<String> j'ai le message suivant :
Cadre1.java:11: type javax.swing.JList does not take parameters
JList<String> jList1 = new JList<String>();
^
Cadre1.java:11: type javax.swing.JList does not take parameters
JList<String> jList1 = new JList<String>();
^
2 errors