J'aime bien l'algo, les trucs bien propres et aux normes, ça fait quelques années deja que je code dans à peu près tous les langages modernes et utilisés, j'ai toujours aimé relever les défis, mais la je dois avouer que j'ai du mal avec JAVA... c'est un peu comme SEGA, c'est plus fort que toi :p
Pour en venir au petit souci :
Alors je développe donc une application de type "application de gestion"
Et bien entendu dans cette application, j'ai des espèces de formulaires.
Comme tout formulaire j'ai des jCombo des jList... des jTout... et j'en passe
Dans mes combo et mes list j'ai des items issus de requetes à ma BDD embarquée (HSQLDB)
avant de poster j'ai fait des petits recherches sur notre ami commun Google, et bien entendu dans ce même magnifique forum (qui m'a permis de sortir de certaines situations délicates)
J'ai trouvé des sujets dont les gens avaient apparament le même but que moi, c'est à dire :
Extraire d'une requete banale, une liste 2 valeurs bien souvent (int ID, String VALEUR)
Bien entendu dans la listBox ou comboBox on veut afficher le String (uniquement).
Lors d'un click sur un item on se sert de l'ID associé à ce String pour en faire quelque chose (peu importe quoi d'ailleurs...)
La plupart des réponses que j'ai pu lire c'est : sers toi d'un renderer, sers toi d'un listCellRenderer, sers toi d'un defaultListCellRenderer... à force je me suis douté de quoi il fallait se servir :p
L'inconvénient, c'est que je n'arrive pas trop à saisir comment ça marche exactement (avant quand j'étais petit et que je fesais du VB.NET il y avait dans les listes une colonne invisible associée ou l'on pouvait stocker la clé, petite fontionnalité bien pratique parfois....)
j'ai aussi lu des réponses style : redéfinis la méthode toString()... mais de qui de quoi ou comment pourquoi ?
Pour le moment je me suis fait une petite classe coupleValeurs que voici :
Bon une classe assez basique en somme il n'y a que des accésseurs... et j'ai rajouté la méthode toString() au kazoo (cas ou) :p
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 public class CouplesValeurs { private String lib; private int id; /** Creates a new instance of CouplesValeurs */ public CouplesValeurs() { } public String getLib() { return lib; } public void setLib(String lib) { this.lib = lib; } public int getId() { return id; } public void setId(int id) { this.id = id; } public String toString() { return lib; } }
Donc j'ai d'un coté mes objets que je peux représenter sous forme de couple, d'un autre coté mes Combo (moult mais en vain..)
Ensuite pour faire le lien entre les 2, c'est a dire mettre mes Objets dedans et n'affichant que le String, et en obtenant la valeur associée lorsque je sélectionne un élément... je lutte depuis 1 jour et 1/2... et franchement ma rentabilité et mon amour prorpre en prennent un coup :p
Sur mes combo et mes list j'ai deja des DefaultComboBoxModel et DefaultListModel faut encore y associer des default(List/Combo)CellRenderer ?
Enfin bon si quelqu'un peut me donner quelques conseils... ce ne sera pas de refus
Thanks a lot
Cat
Partager