Utiliser une JComboBox Java

Fermé
Vil-Coyotte Messages postés 5 Date d'inscription mercredi 25 février 2009 Statut Membre Dernière intervention 27 février 2009 - 25 févr. 2009 à 21:27
Vil-Coyotte Messages postés 5 Date d'inscription mercredi 25 février 2009 Statut Membre Dernière intervention 27 février 2009 - 27 févr. 2009 à 13:36
Bonjour,
j'ai commencé mon programme et je dois utiliser une JComboBox pour afficher des choses différentes par la suite mais je ne sais pas comment exploiter la JComboBox. Est ce que quelqu'un peut m'aider?
Merci d'avance
A voir également:

6 réponses

Utilisateur anonyme
27 févr. 2009 à 04:40
Salut,

Pour que tu puisses avancer, voici quelques modifs à faire pour au moins afficher la Combo parchemin.
Ce que j'ai supprimé est en commentaire (//), ce que j'ai ajouté est commenté.
Mais ces modifs ne sont pas suffisantes, notamment l'absence de listener.
Un clique (donc une sélection), sera sans effet.

Voici ces modifs:


    public class IHM extends JFrame {
   
      private JComboBox parchemin;
   
    /* IHM(String string) {
        setTitle(string);           // déplacé ci-dessous dans la methode init
        setVisible(true);           // idem
        setSize(1000, 1000);        // idem
        init(); */
   
       public void init() {
       
         setTitle("Titre....");       // donc ici
         setVisible(true);            // "    "
         setSize(1000, 1000);         // "    "
      
        //parchemin = new JComboBox();
        //parchemin.setPreferredSize(new Dimension(250, 20));  // supprimé
        
// pas de changement ci-dessous
         JLabel ktotal = new JLabel("Prix total");
         JLabel x = new JLabel("X");
         Font police = new Font("Arial", Font.BOLD, 30);
         x.setFont(police);
         x.setPreferredSize(new Dimension(50, 20));
         x.setHorizontalAlignment(JLabel.CENTER);
         JTextField nombre = new JTextField();
         nombre.setPreferredSize(new Dimension(100, 20));
        
        
         JLabel titreressource = new JLabel("Ressources");
         titreressource.setPreferredSize(new Dimension(100, 20));
         titreressource.setHorizontalAlignment(JLabel.CENTER);
         JLabel titrenbreressource = new JLabel("Nombre de ressources");
         titrenbreressource.setPreferredSize(new Dimension(200, 20));
         titrenbreressource.setHorizontalAlignment(JLabel.CENTER);
         JLabel ku = new JLabel("Kamas/u");
         ku.setPreferredSize(new Dimension(100, 20));
         ku.setHorizontalAlignment(JLabel.CENTER);
         JLabel kt = new JLabel("Kamas total");
         kt.setPreferredSize(new Dimension(100, 20));
         kt.setHorizontalAlignment(JLabel.CENTER);
        
         JLabel res2 = new JLabel();
         res2.setPreferredSize(new Dimension(100, 20));
         JLabel nombre2 = new JLabel();
         JTextField ku2 = new JTextField();
         JLabel kt2 = new JLabel();
        
         JLabel res3 = new JLabel();
         JLabel nombre3 = new JLabel();
         JTextField ku3 = new JTextField();
         JLabel kt3 = new JLabel();
        
         JLabel res4 = new JLabel();
         JLabel nombre4 = new JLabel();
         JTextField ku4 = new JTextField();
         JLabel kt4 = new JLabel();
        
         JLabel res5 = new JLabel();
         JLabel nombre5 = new JLabel();
         JTextField ku5 = new JTextField();
         JLabel kt5 = new JLabel();
        
         JLabel res6 = new JLabel();
         JLabel nombre6 = new JLabel();
         JTextField ku6 = new JTextField();
         JLabel kt6 = new JLabel();
        
      
      
         JLabel kentout = new JLabel();
         kentout.setHorizontalAlignment(JLabel.CENTER);
         kentout.setPreferredSize(new Dimension(200, 20));
        
         res2.setBorder(BorderFactory.createLineBorder(Color.black));
         nombre2.setBorder(BorderFactory.createLineBorder(Color.black));
         kt2.setBorder(BorderFactory.createLineBorder(Color.black));
        
         res3.setBorder(BorderFactory.createLineBorder(Color.black));
         nombre3.setBorder(BorderFactory.createLineBorder(Color.black));
         kt3.setBorder(BorderFactory.createLineBorder(Color.black));
        
         res4.setBorder(BorderFactory.createLineBorder(Color.black));
         nombre4.setBorder(BorderFactory.createLineBorder(Color.black));
         kt4.setBorder(BorderFactory.createLineBorder(Color.black));
        
         res5.setBorder(BorderFactory.createLineBorder(Color.black));
         nombre5.setBorder(BorderFactory.createLineBorder(Color.black));
         kt5.setBorder(BorderFactory.createLineBorder(Color.black));
        
         res6.setBorder(BorderFactory.createLineBorder(Color.black));
         nombre6.setBorder(BorderFactory.createLineBorder(Color.black));
         kt6.setBorder(BorderFactory.createLineBorder(Color.black));
      
         kentout.setBorder(BorderFactory.createLineBorder(Color.BLACK));
        
        
        
         getContentPane().setLayout(new BorderLayout());
         JPanel haut = new JPanel(new FlowLayout());
         haut.setVisible(true);
         JPanel millieu = new JPanel(new GridLayout(6, 4));
         millieu.setVisible(true);
         JPanel bas = new JPanel(new FlowLayout());
         bas.setVisible(true);
         
// il faut creer un tableau qui contiendra les éléments 
         String[] elt = {"Petit parchemin d'agilité", "Parchemin d'agilité",
               "Grand parchemin d'agilité", "Puissant parchemin d'agilité",
               "", "Petit parchemin de chance", "Parchemin de chance",
               "Grand parchemin de chance", "Puissant parchemin de chance",
               "", "Petit parchemin de force", "Parchemin de force",
               "Grand parchemin de force", "Puissant parchemin de force",
               "", "Petit parchemin d'intelligence", "Parchemin d'intelligence",
               "Grand parchemin d'intelligence", "Puissant parchemin d'intelligence",
               "", "Petit parchemin de sagesse", "Parchemin de sagesse", 
               "Grand parchemin de sagesse", "Puissant parchemin de sagesse",
               "", "Petit parchemin de vitalité", "Parchemin de vitalité",
               "Grand parchemin de vitalité", "Puissant parchemin de vitalité" };
               
         parchemin = new JComboBox(elt);   // ici est créé JComboBox parchemin
      	
      	/* et supprimer tout ceci
         parchemin.addItem("Petit parchemin d'agilité");
         parchemin.addItem("Parchemin d'agilité");
         parchemin.addItem("Grand parchemin d'agilité");
         parchemin.addItem("Puissant parchemin d'agilité");
      
         parchemin.addItem("");
      
         parchemin.addItem("Petit parchemin de chance");
         parchemin.addItem("Parchemin de chance");
         parchemin.addItem("Grand parchemin de chance");
         parchemin.addItem("Puissant parchemin de chance");
      
         parchemin.addItem("");
      
         parchemin.addItem("Petit parchemin de force");
         parchemin.addItem("Parchemin de force");
         parchemin.addItem("Grand parchemin de force");
         parchemin.addItem("Puissant parchemin de force");
      
         parchemin.addItem("");
      
         parchemin.addItem("Petit parchemin d'intelligence");
         parchemin.addItem("Parchemin d'intelligence");
         parchemin.addItem("Grand parchemin d'intelligence");
         parchemin.addItem("Puissant parchemin d'intelligence");
      
         parchemin.addItem("");
      
         parchemin.addItem("Petit parchemin de sagesse");
         parchemin.addItem("Parchemin de sagesse");
         parchemin.addItem("Grand parchemin de sagesse");
         parchemin.addItem("Puissant parchemin de sagesse");
      
         parchemin.addItem("");
      
         parchemin.addItem("Petit parchemin de vitalité");
         parchemin.addItem("Parchemin de vitalité");
         parchemin.addItem("Grand parchemin de vitalité");
         parchemin.addItem("Puissant parchemin de vitalité");
      */
// le reste est inchangé

N'hésites pas si quelque chose t'echappe!

Pour lancer depuis un programme avec méthode main :
         IHM unNom = new IHM();
         unNom.init();
car init() n'est pas static alors que main l'est

Cordialement,

Dan
1
Utilisateur anonyme
26 févr. 2009 à 08:11
Salut,
Peux-tu nous montrer ce que tu as commencé à faire ?
Mais aussi consulter ici https://docs.oracle.com/javase/6/docs/api/ la classe JCombobox et revenir nous dire ce que tu ne comprends pas.

Cordialement,

Dan
0
Utilisateur anonyme
26 févr. 2009 à 18:01
Salut,

OK, mais il faudrait préciser ce qui se passe ou ne se passe pas, notamment si tu arrives à exécuter.
Sinon on pensera que tu veux qu'on fasse la mise au point de ton programme pour toi, et alors...

Cordialement,

Dan
0
Vil-Coyotte Messages postés 5 Date d'inscription mercredi 25 février 2009 Statut Membre Dernière intervention 27 février 2009
27 févr. 2009 à 13:36
ok merci j'avais juste un problème avec les tableaux.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
26 févr. 2009 à 08:32
Ps,

Tu peux aussi voir ici https://docs.oracle.com/javase/tutorial/uiswing/components/combobox.html

Et y trouveras quelques programmes de demo ComboBox, mais aussi des tas d'autres.

Dan
-1
Vil-Coyotte Messages postés 5 Date d'inscription mercredi 25 février 2009 Statut Membre Dernière intervention 27 février 2009
26 févr. 2009 à 11:52
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package calculatricedeparcheminsbycoyotte;

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.GridLayout;
import java.awt.event.ItemListener;
import javax.swing.BorderFactory;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;

/**
 *
 * @author Grandjean
 */
public class IHM extends JFrame {

    private JComboBox parchemin;

    IHM(String string) {
        setTitle(string);
        setVisible(true);
        setSize(1000, 1000);
        init();
    }

    private void init() {

        //parchemin = new JComboBox();
        parchemin.setPreferredSize(new Dimension(250, 20));
        
        JLabel ktotal = new JLabel("Prix total");
        JLabel x = new JLabel("X");
        Font police = new Font("Arial", Font.BOLD, 30);
        x.setFont(police);
        x.setPreferredSize(new Dimension(50, 20));
        x.setHorizontalAlignment(JLabel.CENTER);
        JTextField nombre = new JTextField();
        nombre.setPreferredSize(new Dimension(100, 20));
        
        
        JLabel titreressource = new JLabel("Ressources");
        titreressource.setPreferredSize(new Dimension(100, 20));
        titreressource.setHorizontalAlignment(JLabel.CENTER);
        JLabel titrenbreressource = new JLabel("Nombre de ressources");
        titrenbreressource.setPreferredSize(new Dimension(200, 20));
        titrenbreressource.setHorizontalAlignment(JLabel.CENTER);
        JLabel ku = new JLabel("Kamas/u");
        ku.setPreferredSize(new Dimension(100, 20));
        ku.setHorizontalAlignment(JLabel.CENTER);
        JLabel kt = new JLabel("Kamas total");
        kt.setPreferredSize(new Dimension(100, 20));
        kt.setHorizontalAlignment(JLabel.CENTER);
        
        JLabel res2 = new JLabel();
        res2.setPreferredSize(new Dimension(100, 20));
        JLabel nombre2 = new JLabel();
        JTextField ku2 = new JTextField();
        JLabel kt2 = new JLabel();
        
        JLabel res3 = new JLabel();
        JLabel nombre3 = new JLabel();
        JTextField ku3 = new JTextField();
        JLabel kt3 = new JLabel();
        
        JLabel res4 = new JLabel();
        JLabel nombre4 = new JLabel();
        JTextField ku4 = new JTextField();
        JLabel kt4 = new JLabel();
        
        JLabel res5 = new JLabel();
        JLabel nombre5 = new JLabel();
        JTextField ku5 = new JTextField();
        JLabel kt5 = new JLabel();
        
        JLabel res6 = new JLabel();
        JLabel nombre6 = new JLabel();
        JTextField ku6 = new JTextField();
        JLabel kt6 = new JLabel();
        


        JLabel kentout = new JLabel();
        kentout.setHorizontalAlignment(JLabel.CENTER);
        kentout.setPreferredSize(new Dimension(200, 20));

        
        
        
        
        
        
        res2.setBorder(BorderFactory.createLineBorder(Color.black));
        nombre2.setBorder(BorderFactory.createLineBorder(Color.black));
        kt2.setBorder(BorderFactory.createLineBorder(Color.black));
        
        res3.setBorder(BorderFactory.createLineBorder(Color.black));
        nombre3.setBorder(BorderFactory.createLineBorder(Color.black));
        kt3.setBorder(BorderFactory.createLineBorder(Color.black));
        
        res4.setBorder(BorderFactory.createLineBorder(Color.black));
        nombre4.setBorder(BorderFactory.createLineBorder(Color.black));
        kt4.setBorder(BorderFactory.createLineBorder(Color.black));
        
        res5.setBorder(BorderFactory.createLineBorder(Color.black));
        nombre5.setBorder(BorderFactory.createLineBorder(Color.black));
        kt5.setBorder(BorderFactory.createLineBorder(Color.black));
        
        res6.setBorder(BorderFactory.createLineBorder(Color.black));
        nombre6.setBorder(BorderFactory.createLineBorder(Color.black));
        kt6.setBorder(BorderFactory.createLineBorder(Color.black));

        kentout.setBorder(BorderFactory.createLineBorder(Color.BLACK));
        
        
        
        getContentPane().setLayout(new BorderLayout());
        JPanel haut = new JPanel(new FlowLayout());
        haut.setVisible(true);
        JPanel millieu = new JPanel(new GridLayout(6, 4));
        millieu.setVisible(true);
        JPanel bas = new JPanel(new FlowLayout());
        bas.setVisible(true);
        
        parchemin.addItem("Petit parchemin d'agilité");
        parchemin.addItem("Parchemin d'agilité");
        parchemin.addItem("Grand parchemin d'agilité");
        parchemin.addItem("Puissant parchemin d'agilité");

        parchemin.addItem("");

        parchemin.addItem("Petit parchemin de chance");
        parchemin.addItem("Parchemin de chance");
        parchemin.addItem("Grand parchemin de chance");
        parchemin.addItem("Puissant parchemin de chance");

        parchemin.addItem("");

        parchemin.addItem("Petit parchemin de force");
        parchemin.addItem("Parchemin de force");
        parchemin.addItem("Grand parchemin de force");
        parchemin.addItem("Puissant parchemin de force");

        parchemin.addItem("");

        parchemin.addItem("Petit parchemin d'intelligence");
        parchemin.addItem("Parchemin d'intelligence");
        parchemin.addItem("Grand parchemin d'intelligence");
        parchemin.addItem("Puissant parchemin d'intelligence");

        parchemin.addItem("");

        parchemin.addItem("Petit parchemin de sagesse");
        parchemin.addItem("Parchemin de sagesse");
        parchemin.addItem("Grand parchemin de sagesse");
        parchemin.addItem("Puissant parchemin de sagesse");

        parchemin.addItem("");

        parchemin.addItem("Petit parchemin de vitalité");
        parchemin.addItem("Parchemin de vitalité");
        parchemin.addItem("Grand parchemin de vitalité");
        parchemin.addItem("Puissant parchemin de vitalité");



        haut.add(parchemin);
        haut.add(x);
        haut.add(nombre);
        
        millieu.add(titreressource);
        millieu.add(titrenbreressource);
        millieu.add(ku);
        millieu.add(kt);
        millieu.add(res2);
        millieu.add(nombre2);
        millieu.add(ku2);
        millieu.add(kt2);
        millieu.add(res3);
        millieu.add(nombre3);
        millieu.add(ku3);
        millieu.add(kt3);
        millieu.add(res4);
        millieu.add(nombre4);
        millieu.add(ku4);
        millieu.add(kt4);
        millieu.add(res5);
        millieu.add(nombre5);
        millieu.add(ku5);
        millieu.add(kt5);
        millieu.add(res6);
        millieu.add(nombre6);
        millieu.add(ku6);
        millieu.add(kt6);

        bas.add(ktotal);
        bas.add(kentout);



        getContentPane().add(haut, BorderLayout.NORTH);
        getContentPane().add(millieu, BorderLayout.CENTER);
        getContentPane().add(bas, BorderLayout.SOUTH);


        pack();
        repaint();


        


    }
}


et puis pour le tuto du lien j'avais déjà été voir mais j'ai pas compris^^
-1