Recuperer plusieurs indices selectionnes dans une JList et remplir une String (c [Résolu]

tomski 48 Messages postés mercredi 24 mars 2004Date d'inscription 24 décembre 2009 Dernière intervention - 29 juil. 2009 à 11:08 - Dernière réponse : tomski 48 Messages postés mercredi 24 mars 2004Date d'inscription 24 décembre 2009 Dernière intervention
- 30 juil. 2009 à 11:07
Bonjour a tous,


voila, jai une JList et jessaye de recuperer les indices selectionnés, pas de souci ca marche.

Object selectedLSTSOCIETEValues[] = lstSociete.getSelectedValues();
int selectionsLSTSOCIETE[] = lstSociete.getSelectedIndices();

Apres quoi je fais ma boucle for, nickel, comment je detecte que tel et tel indices soient selectionnes en meme temps?


je voudrais recuperer cest si indice1 et indice2 sont selectionnes, ou si 1&3 ou 1&4, ou 2&1 ou 2&3 ou 2&4 ou 3&1 ou 3&2 ou 3&4 ou 4&1 ou 4&2 ou 4&3

car jai une String et que en fonction des indices selectionnes jai un ordre pour la remplir.

Typiquement je fais une requete SQL et en fonction des indices selectionnes dans ma liste je fais des "OR champs1 aa" +" OR champs2 bb"

etc


Lextrait du code que jai fait

ListSelectionListener lstSociete_listener = new ListSelectionListener() {
public void valueChanged(ListSelectionEvent listSelectionEvent) {
Object selectedLSTSOCIETEValues[] = lstSociete.getSelectedValues();
int selectionsLSTSOCIETE[] = lstSociete.getSelectedIndices();

for (int i 0, n selectionsLSTSOCIETE.length; i < n; i++) {
if (i == 0){
societe = "TOUS" ;
}else{
societe = " (";
switch(i){
//case 0: societe "" ;break;//Tous> do nothing
case 1: societe societe + "OR DivProd.nomdivisionproduction 'AB'" ;break;//
case 2: societe societe + "OR DivProd.nomdivisionproduction 'AS-COM'" ;break;//"A"
case 3: societe societe + "OR DivProd.nomdivisionproduction 'S'";break;
case 4: societe societe + "OR DivProd.nomdivisionproduction 'W'" ;break;
default: societe = "TOUS";break;//default "Tous"
}
societe = societe + ") ";
}//end if

Merci pour votre aide!
(_.:~:._)
Afficher la suite 

4 réponses

Répondre au sujet
kirua12 1155 Messages postés samedi 17 janvier 2004Date d'inscription 29 avril 2011 Dernière intervention - 29 juil. 2009 à 11:29
+3
Utile
Salut,

je comprends pas la question : la méthode getSelectedIndices() te renvoie les éléments sélectionnés dans l'ordre croissant, donc tu sais si c'est l'indice 1&3 ou 1&4.
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de kirua12
kirua12 1155 Messages postés samedi 17 janvier 2004Date d'inscription 29 avril 2011 Dernière intervention - 30 juil. 2009 à 10:03
+3
Utile
A quoi ça sert de faire
switch(n)


c'est pas plutôt
switch(selectionsLSTSOCIETE[n])
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de kirua12
tomski 48 Messages postés mercredi 24 mars 2004Date d'inscription 24 décembre 2009 Dernière intervention - 30 juil. 2009 à 09:58
0
Utile
Salut Kirua12

Quand je selectionne l'indice 1 dans ma JLIst soit mon 2eme item, et ben on fait, il ne va pas dans le case du 1 mais dans le case 0 demon switch.
pourtant quand je fais un system.out.println de selectedLSTSociete, je trouve bien le "1"

Donc ca vient de ma boucle for....


societe = " (";
// for (int i 0, n selectionsLSTSOCIETE.length; i < n; i++) {
for (int n = 0; n < selectionsLSTSOCIETE.length; n++) {
switch(n){
case 0: societe "" ;break;//Tous> do nothing
case 1: societe societe + "OR DivProd.nomdivisionproduction 'AB'" ;break;//
case 2: societe societe + "OR DivProd.nomdivisionproduction 'ASC'" ;break;//"ASC"
case 3: societe societe + "OR DivProd.nomdivisionproduction 'S'";break;
case 4: societe societe + "OR DivProd.nomdivisionproduction 'W'" ;break;
default: societe = "";break;//default "Tous"
}

System.out.println(selectionsLSTSOCIETE[n] + "/" + selectedLSTSOCIETEValues[n]);
}//end for
societe = societe + ") ";
System.out.println("SOCIETE FINIE = "+societe);

Resultat dans ma console:
1/ABDC => OK cest bien l'indice 1
SOCIETE FINIE () au lieu de (OR DivProd.nomdivisionproduction 'AB') => ca prouve que ca va pas dans le case 1 mais ke ca passe dans le case 0....



est ce ke kelkun peut maider, pliz?



(_.:~:._)
Commenter la réponse de tomski
tomski 48 Messages postés mercredi 24 mars 2004Date d'inscription 24 décembre 2009 Dernière intervention - 30 juil. 2009 à 11:07
0
Utile
Thats right!
maintenant c bon :) muchas gracias


(_.:~:._)
Commenter la réponse de tomski

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.