Recherche avec jComboBox

hafedhaouni Messages postés 62 Date d'inscription jeudi 18 février 2010 Statut Membre Dernière intervention 16 février 2012 - 7 mai 2009 à 00:59
krimog Messages postés 1860 Date d'inscription lundi 28 novembre 2005 Statut Membre Dernière intervention 14 février 2015 - 7 mai 2009 à 10:05
slt a tous
Comment faire la recherche avec jComboBox.
cad si je veut rechercher le nom du client Ali. Quand je taper A par clavier il s'affiche toute les nom qui commence par A et en si de suite.
A voir également:

2 réponses

Utilisateur anonyme
7 mai 2009 à 09:42
Salut,

Voici un extrait montrant ce que tu peux faire.
La Combo est faite en partant d'un tableau de tous les noms.
À partir de ce tableau,  on en crée un second en ne prenant dans le premier que les noms qui commencent par ce qui est entré au clavier et c'est donc ce second tableau qui créera la combo:

// tableau (fantaisiste) de tous les noms:

String[] tableauNoms = {"Aaaaa", "Aabbb", "Abbbb", "Abccc", "Accccc", "Acdddd",

"Alain","Ali","Ali2","Ali3","Ali4","Ali5","Ali6","Ali7","Ali8","Ali9","Ali10",

"Baaaa", "Babbb", "Babcc", "Babcd", "Bbbbb", "Bbccc", "Bccccc", "Bcdddd",

"Moooonaaaa", "Mopqrstuvw", "Moprstuvwx", "Mppppobbbb", "Mpqqqrssss"};

int nombre = 0;

while(reSaisir)
{reSaisir false; // sera force a true si nombre 0

entreeClavier();

// comptage des noms qui commencent par laLettre (ou les lettres)
// si la lettre est ("*") on prend tout

for (int i = 0; i < tableauNoms.length; i++)
{

if (!laLettre.equals("*")) //c'est ce tableau qui sert a créer la combo
{

if (tableauNoms[i].startsWith(laLettre))
nombre++;
}
else
{
nombre++;
}
}

if
(nombre == 0)
{
javax.swing.JOptionPane.showMessageDialog
(
null,"Il n'y a pas de nom qui commence par " + laLettre,
titre, JOptionPane.INFORMATION_MESSAGE);
reSaisir =
true;
}
}

if (!reSaisir)
{

int j = 0;

String[] tableauReduit =
new String[nombre]; //c'est ce tableau qui sert a créer la combo

// on crée le tableau réduit (qui sera complet si la lettre est("*"))

for (int i = 0; i < tableauNoms.length; i++)
{

if (!laLettre.equals("*"))
{

if (tableauNoms[i].startsWith(laLettre))
{
tableauReduit[j] = tableauNoms[i];
j++;
}
}
else
{
// si laLettre est ("*") on prend tout.
tableauReduit[j] = tableauNoms[i];
j++;
}
}

// création de la combo box

listeNoms = new JComboBox(tableauReduit); // c'est ici qu'on crée la combo

listeNoms.setSelectedIndex(0); // selection par defaut du nom n° 1

listeNoms.addActionListener(this);

Plus la méthode entreeClavier:

public
void entreeClavier()
{
laLettre = (String)javax.swing.JOptionPane.showInputDialog
(
null, "Sortie par .\n\n"

+ "La valeur (*) par defaut permet d'obtenir la liste de tous les noms.\n\n" + lib,
titre,
javax.swing.JOptionPane.PLAIN_MESSAGE,

null, // icone (image)

null,
defaut); // valeur par defaut
try
{
int longueurSaisie laLettre.length(); // si longueur null
}

catch (NullPointerException npe)
{
String info = "\n\nSORTIE PAR \n\n"

+ " FIN";
javax.swing.JOptionPane.showMessageDialog
(
null,info,titre, JOptionPane.INFORMATION_MESSAGE);
System.exit(0);
}
}
Cordialement,

...\ Dan /...
0
krimog Messages postés 1860 Date d'inscription lundi 28 novembre 2005 Statut Membre Dernière intervention 14 février 2015 49
7 mai 2009 à 10:05
Salut

- Tu as le droit de préciser le langage utilisé
- Tu as le droit de poster dans la bonne section (Non, "LE BAR" n'est PAS un langage de programmation)
- Tu as le droit de dire "S'il vous plaît" ou "Merci" (si tu mets les deux, on ne t'en voudra pas)
- ...

Tu as vachement de chance, tu as plein de droits. Et il y en a encore plus ici !

Krimog : while (!(succeed = try())) ;
- NON, "LE BAR" n'est PAS un langage de programmation ! -
0
Rejoignez-nous