ComboBoxModel + HashMap

ComboBoxModel + HashMap - Java - Programmation

Marsh Posté le 03-10-2002 à 17:07:32    

Ququn aurait un comboboxmodel basé sur une hashmap qui MARCHE?
Je suis en train d'essayer là mais euh ça marche moyennement. :/


---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
Reply

Marsh Posté le 03-10-2002 à 17:07:32   

Reply

Marsh Posté le 03-10-2002 à 17:40:18    

Bahhhhh..Ca a pas l'air bien sorcier!! Tout dépend de ce que tu veux faire, exactement! :p Tu veux afficher quoi, dans ta combobox?? Les clés?? Un attribut des valeurs??
 
Enfin, explique un peu plus, ça doit pas être très complexe, en fait?.

Reply

Marsh Posté le 03-10-2002 à 17:41:31    

qu'est ce que tu appelle qui marche ou plutot, c'est quoi que tu consière ne pas marcher ?

Reply

Marsh Posté le 03-10-2002 à 17:47:57    

euh ouais pardon :o
 
donc, je voudrais afficher les valeurs, mais travailler uniquement avec les clés (en fait, j'ai un ItemListener etje voudrais que celui-ci recuper les clés de la hashmap)
 
le hic c'est que la methode setSelected du model prend en parametre un objet... qui est celui qui est retourné par la methode getElementAt (donc celui qui est affiché) :/
 


---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
Reply

Marsh Posté le 03-10-2002 à 17:55:15    

tu créés un objet comme ca :
 

Code :
  1. public class CBMElement {
  2.    private Map m;
  3.    Object key;
  4.    public CBMElement(Map m, Object key) {
  5.       this.m = m;
  6.       this.key = key;
  7.    }
  8.    public Object getKey() {
  9.       return key;
  10.    }
  11.    public String toString() {
  12.       Object o = m.get(key);
  13.       return (o==null)? "null" : o.toString();
  14.    }
  15.    public static Vector getFromMap(Map m) {
  16.       Vector v = new Vector(m.size());
  17.       for (Iterator it=m.keySet(); it.hasNext();) {
  18.           v.add(new CBMElement(m, it.next()));
  19.       }
  20.    }
  21. }


 

Code :
  1. ...
  2. Map m = new HashMap();
  3. ...
  4. JComboBoxModel jcb = new JComboBoxModel(CBMElement.getFromMap(m));
  5. ...


 


Message édité par benou le 03-10-2002 à 18:00:52
Reply

Marsh Posté le 03-10-2002 à 18:01:04    

:jap:
 
va savoir pq je vais souvent chercher tordu...
là j'etais en train de me faire un ComboBoxModel custom pour un objet maison, ... alors que j'avais qu'a betement implementer la method toString() de cet objet :/


---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed