Partage
  • Partager sur Facebook
  • Partager sur Twitter

Jcombobox, text et valeur

text <> valeur !

Sujet résolu
    24 mai 2009 à 14:07:31

    Salut à tous.

    voila mon problème : j'ai une combobox avec 2 items, le problème c'est que chaque item doit avoir un texte et une valeur, je m'explique :
    je voudrai afficher :
    1er item : "eau douce" et renvoyer la valeur 0.001
    2em item : "eau salée" et renvoyer la valeur 0.00104

    le problème, c'est comment faire?

    pour le moment, j'ai ça :
    ComboBoxModel liquideRectModel = new DefaultComboBoxModel(new String[] { "Eau douce", "Eau salée" });
    liquideRect = new JComboBox();
    formImp.add(liquideRect, new CellConstraints("4, 4, 1, 1, default, default"));
    liquideRect.setModel(liquideRectModel);
    


    j'ai essayé ça, mais il y a du rouge de partout :
    ComboBoxModel liquideRectModel = new DefaultComboBoxModel(
    new double[] {
    0.001 {public String toString() {return "Eau Douce";}},
    0.00104 {public String toString() {return "Eau salée";}}
    });
    


    et j'avais pris comme référence :
    new DefaultComboBoxModel(
    new Color[] {new Color(255,0,0) {public String toString() {return "Rouge";}},
    new Color(0,255,0) {public String toString() {return "Vert";}},
    new Color(0,0,255) {public String toString() {return "Bleu";}}
    });
    


    merci à vous!
    • Partager sur Facebook
    • Partager sur Twitter
      24 mai 2009 à 14:15:59

      Euh si tu as lu le tutos de cysboy c'est pas bien compliqué, il faut juste que lorsque tu place un actionListener sur ta combobox et quand tu sélectionne un Item dans ta JcomboBox, bah tu renvoie une valeur en fonction de l'item sélectionné.

      • Partager sur Facebook
      • Partager sur Twitter
        24 mai 2009 à 14:21:19

        j'y avais pas pensé, je vais faire comme ça!

        mais est-ce qu'il y a moyen de le faire comme je voulais faire juste au dessus?

        merci, @+, zib
        • Partager sur Facebook
        • Partager sur Twitter
          24 mai 2009 à 14:24:05

          Je ne sais pas, je ne vois pas ce que tu essaye de faire, ça m'a l'air compliqué en tout cas le code que tu as mis, en plus je ne connais pas les classes ComboBoxModel et CellConstraints, enfin CellConstraints et utilisé avec le GridBagLayout qui n'a rien à voir.
          • Partager sur Facebook
          • Partager sur Twitter
            24 mai 2009 à 16:04:12

            exact, enfin bref, j'ai fait avec un actionlistener et ça fonctionne donc je cherche pas plus loin
            • Partager sur Facebook
            • Partager sur Twitter
              24 mai 2009 à 16:38:41

              Citation : zib


              j'ai essayé ça, mais il y a du rouge de partout :

              ComboBoxModel liquideRectModel = new DefaultComboBoxModel(
              new double[] {
              0.001 {public String toString() {return "Eau Douce";}},
              0.00104 {public String toString() {return "Eau salée";}}
              });
              



              et j'avais pris comme référence :

              new DefaultComboBoxModel(
              new Color[] {new Color(255,0,0) {public String toString() {return "Rouge";}},
              new Color(0,255,0) {public String toString() {return "Vert";}},
              new Color(0,0,255) {public String toString() {return "Bleu";}}
              });
              


              Je ne sais pas si tu te rend compte mais tu essayais de créer une classe anonyme étendant d'un Type primitif...
              Si tu veux faire comme ça tu dois encapsuler, mais le problème c'est que la classe Double est finale.

              Tu devrais alors créer une classe par exemple
              ComboBoxModel liquideRectModel = new DefaultComboBoxModel(
              new Liquide[] { new Liquide(0.001, "Eau Douce"),
              new Liquide(0.00104, "Eau salée")});
              
              //...
              class Liquide {
              
                 double nombre;
                 String nom;
              
                 public Liquide(double d, String s) {
                    nombre = d;
                    nom = nom;
                 }
              
                 public String toString() {
                    return nom;
                 }
              }
              
              • Partager sur Facebook
              • Partager sur Twitter
                24 mai 2009 à 16:46:35

                c'est ce qu'il me semblais, après le coup des classe terminale etc ... je connais pas, ça fait que 7 mois que je fait du java, et je suis en train de créer ma première interface graphique!

                merci en tout cas!
                • Partager sur Facebook
                • Partager sur Twitter

                Jcombobox, text et valeur

                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                • Editeur
                • Markdown