IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 Java Discussion :

Remplir une jcombobox


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Décembre 2006
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 65
    Par défaut Remplir une jcombobox
    Bonjour,

    J'ai un souçi pour remplir ma liste déroulante.

    Je travail avec eclipse et le plugin jigloo.

    Je voudrais ajouter des données venant de ma base de donnée.

    Je récupère bien les données dont j'ai besoin en mode console mais pas dans ma liste déroulante.

    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
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
     
    public class Modif_Voiture extends javax.swing.JFrame {
    	private JComboBox jComboBox_voiture;
     
    	/**
            * Auto-generated main method to display this JFrame
            */
    	public static void main(String[] args) {
    		SwingUtilities.invokeLater(new Runnable() {
    			public void run() {
    				Modif_Voiture inst = new Modif_Voiture();
    				inst.setLocationRelativeTo(null);
    				inst.setVisible(true);
    			}
    		});
    	}
     
    	public Modif_Voiture() {
    		super();
    		initGUI();
    	}
     
    	private void initGUI() {
    		try {
    			String nomdsn="DSN_VOITURE";
     
    			//on instancie 
    			Connect bdd = new Connect(nomdsn);
     
    			//On modifie
    			try{
    				String sql = "SELECT * FROM voiture;";
    				ResultSet Rs = bdd.getStmt().executeQuery(sql);
    				while (Rs.next()) {
    					//jComboBox_voiture.addItem(Rs.getString("model"));
    					System.out.println(Rs.getString("model"));
    					jComboBox_voiture.addItem(Rs.getString("model"));
    				}
     
    				bdd.close();
    			}
    			catch (Exception e) {System.out.println("erreur dans la requete");}
    			finally {
    				try{
    					bdd.close();}
    				catch (Exception e) {e.printStackTrace();}	
    			}
    			setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
    			getContentPane().setLayout(null);
    			{
    				ComboBoxModel jComboBox_voitureModel = 
    					new DefaultComboBoxModel(
    							new String[] { "Item One"});
    				jComboBox_voiture = new JComboBox();
    				getContentPane().add(jComboBox_voiture);
    				jComboBox_voiture.setModel(jComboBox_voitureModel);
    				jComboBox_voiture.setBounds(115, 77, 162, 22);
    			}
    			pack();
    			setSize(400, 300);
    		} catch (Exception e) {
    			e.printStackTrace();
    		}
    	}
     
    }
    Au moment de charger la liste, il m'affiche logiquement se qui est en dur a savoir "item one". Et dans ma boucle while, il me ramène le message "erreur".

  2. #2
    Membre averti
    Homme Profil pro
    Inscrit en
    Mars 2008
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Mars 2008
    Messages : 26
    Par défaut
    Salut

    Si je comprend bien tu veux juste remplir ta JCombobox
    Dans ta boucle while tu as du avoir l`erreur NullPointerException. Ce qui est normail car tu n`as pas initiliser la JComboBox.
    Deplace l`initialisation de ta JcomboBox(jComboBox_voiture = new JComboBox() juste avant ta boucle while.
    En outre
    Est ce vraiment neccessaire pour toi d`ajouter la ComboBoxModel ??? (Tu n`as pas necessairement besoin de ComboBoxModel pour faire fonctionner une JCombobox)
    Si non retire cette section de ton code

    Bon courage

  3. #3
    Membre confirmé
    Inscrit en
    Décembre 2006
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 65
    Par défaut
    Merci beaucoup. La liste déroulante est bien alimentée.

    J'ai un autre problème maintenant.

    Dans ma liste déroulante, je récupère une voiture. Une fois cliqué sur la voiture voulue, je voudrait remplir mes textfield en fonction de la voiture choisie.

    Faut-il utiliser un itemlistener ? Comment l'appliquer ensuite ?

    Merci

  4. #4
    Membre averti
    Homme Profil pro
    Inscrit en
    Mars 2008
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Mars 2008
    Messages : 26
    Par défaut
    Salut

    Oui il te faut implémenter l'interface itemlistener et écrire le code dans la méthode itemStateChanged.

    Ce que je te propose n'est pas forcement l'optimum Peut etre il y aura d'autres posts

    Cree un champ dans ta classe Modif_Voiture. ce champ devra etre une structure de liste (ca peut être un simple tableau ou une array list ou un vector je prefere le dernier)
    Au moment de te connecter a ta base de donnée, rempli cette liste avec les objets que tu extrait de la base de donnée. Cela suppose que tu as une structure de donnée qui représente une voiture
    Ainsi dans la methode itemStateChanged tu parcours la liste des voitures et des que tu a l'item selectionné tu affiche les autre champs de ta voiture!


    Bon courage

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 29
    Dernier message: 16/04/2015, 19h29
  2. Réponses: 3
    Dernier message: 28/07/2013, 20h28
  3. Remplir une jComboBox et affecter des couleurs
    Par Yamuto dans le forum Composants
    Réponses: 2
    Dernier message: 03/07/2013, 10h36
  4. Remplir une JComboBox à l'aide d'une requête ?
    Par spl0tch dans le forum AWT/Swing
    Réponses: 9
    Dernier message: 10/10/2007, 21h57
  5. Couleur d'une JComboBox disabled
    Par ced dans le forum Composants
    Réponses: 6
    Dernier message: 06/01/2004, 15h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo