pb avec une JComboBox

pb avec une JComboBox - Java - Programmation

Marsh Posté le 20-05-2003 à 16:29:01    

Bonjour
 
J'ai créé une Combo Box qui suivant plusieurs paramètres, possède 3 ou 4 items. J'ai une méthode qui est censée ajouter l'item (avec la méthode addItem(...)) à la combo box quand je lui demande mais l'affichage n'est jamais réactualisé.
Pourtant j'ai essayé pleins de méthodes pour rafraichir ma box (fire..., reactivate, notify, repaint, refresh, reload et re_tout_c'qu'on_peut_imaginer) mais rien à faire j'ai toujours une combo box avec 3 items et le 4ème ne s'ajoute jamais !
 
Thanks for your help ...

Reply

Marsh Posté le 20-05-2003 à 16:29:01   

Reply

Marsh Posté le 20-05-2003 à 16:49:53    

Utilises-tu une classe ComboBoxModel avec ta combo box ?


---------------
Light is right
Reply

Marsh Posté le 20-05-2003 à 16:51:43    

non, je devrais ?
Si oui tu peux m'expliquer en 2 mots comment ca marche ?

Reply

Marsh Posté le 20-05-2003 à 16:56:03    

cf tuts de sun :o


---------------
get amaroK plugin
Reply

Marsh Posté le 20-05-2003 à 16:56:45    

En fait la pluspart des composants qui affiche des données peuvent utiliser une classe 'Model' pour recuperer ces données.
 
Dans ton cas, il faut tu créé une classe dérivant de ComboBoxModel.
Surcharge les méthodes necessaires et passe cette classe dans la méthode setModel de ta combo box.
 
C'est bien sur dans cette classe qui tu vas determiner le nombre d'elements à afficher.


---------------
Light is right
Reply

Marsh Posté le 20-05-2003 à 17:01:51    

Merci j'vais essayer ...

Reply

Marsh Posté le 20-05-2003 à 17:03:09    

bon en fait dans les "tuts de sun" c'est pas expliqué le coup du model pour la JComboBox, par contre c'est expliqué pour la JList. Le principe reste le même, donc si tu veux voir un exemple ...
 tut de sun : ListModel


---------------
get amaroK plugin
Reply

Marsh Posté le 27-06-2003 à 12:07:32    

Je suis en train de faire qqch du meme genre, c'est à dire un JComboxBox qui met a jour un objet.
 
J'ai fait la chose comme ca:


 String[] colorsString = {"Black", "Blue" , "Red"};
ComboBoxModel fieldPatternModel = new ComboBoxModel(Color.BLACK, Color.BLUE, Color.RED);
JComboBox fieldPattern = new JComboBox(fieldPatternModel);


 
Le problème était pour les arguements de ComboBoxModel, j'ai pas trouvé quoi mettre dans l'API...
 
Le compilateur me dit que ComboBoxModel ne peut pas être instancier, est-ce que ca vient du faite que ComboBoxModel est une interface?

Reply

Marsh Posté le 27-06-2003 à 13:50:56    

Bon j'ai réussi, pour finir j'ai pas utilisé de ComboBoxModel:
 


String[] colorsString = {"Black", "Blue" , "Red" , "Green", "Gray", "Cyan", "Pink"};
 
fieldPattern = new JComboBox(colorsString);
 
fieldPattern.addActionListener(this);
fieldPattern.setSelectedIndex(1);
 
 public void actionPerformed(ActionEvent e){
 
    if (e.getSource() == fieldPattern){
   
  if (fieldPattern.getSelectedItem() == "Black" ){
    color = Color.BLACK;
     }
  else if (fieldPattern.getSelectedItem() == "Blue" ){
        color = Color.BLUE;
   }
  else if (fieldPattern.getSelectedItem() == "Red" ){
  color = Color.RED;
   }
  else if (fieldPattern.getSelectedItem() == "Cyan" ){
  color = Color.CYAN;
   }
  else if (fieldPattern.getSelectedItem() == "Green" ){
  color = Color.GREEN;
   }
  else if (fieldPattern.getSelectedItem() == "Gray" ){
  color = Color.GRAY;
   }
  else if (fieldPattern.getSelectedItem() == "Pink" ){
  color = Color.PINK;
   }
  else {
  color = Color.BLACK;
   }
    }


Message édité par cardinaldebiere le 27-06-2003 à 13:51:31
Reply

Marsh Posté le 27-06-2003 à 13:58:44    

heu si je ne m'abuse : aucun rapport je crois :D
 
fred86300 voulais modifier les données utilisées par un composant SWING, tandis que toi c'est juste que tu modifies une valeur  [:spamafote]  
 
Mais bon, c'est bien aussi, et ya "JCombox" dans les deux :D (dsl pour le sarcasme)
 
bon par contre, si je me trompe, je vais encore passer pour un gros blaireau, mais bon ... :o


---------------
get amaroK plugin
Reply

Marsh Posté le 27-06-2003 à 13:58:44   

Reply

Marsh Posté le 27-06-2003 à 14:28:31    

Disons rapport a moitié....  :D

Reply

Marsh Posté le 27-06-2003 à 16:24:54    

cardinaldebiere a écrit :


Le problème était pour les arguements de ComboBoxModel, j'ai pas trouvé quoi mettre dans l'API...
 
Le compilateur me dit que ComboBoxModel ne peut pas être instancier, est-ce que ca vient du faite que ComboBoxModel est une interface?
 

sans blague [:kiki]


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 27-06-2003 à 16:28:35    


on est tous passé par là ;) (enfin moi en tout cas, et j'ai pas fini a mon avis :D )


---------------
get amaroK plugin
Reply

Marsh Posté le 27-06-2003 à 16:30:50    

bobuse a écrit :


on est tous passé par là ;) (enfin moi en tout cas, et j'ai pas fini a mon avis :D )

oui mais avant de faire des applets et des servlets :D
edit: euh merde j'ai confondu avec un autre topic :D
enfin bref, ouais, effectivement, j'ai rien dit :D


Message édité par the real moins moins le 27-06-2003 à 16:31:21

---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Sujets relatifs:

Leave a Replay

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