Bonjour ,

Je suis débutant et je tente de comprendre le fonctionnement des combobox via un petit exercice .

Objectif --> 2 combobox ( codepostal - ville) , le combo(codepostal) doit récupérer dans une BDD tous les code postaux .

Le combo(ville) doit afficher toutes les villes qui correspond au code postal sélectionner dans le combo(codepostal).

Ce que j'ai réussi a faire :

-Récupérer les codes postaux et les afficher dans la bombo(codepostal) , mettre la ville correspondante au code postal sélectionné dans une variable .

Mais impossible d'affiché la variable dans la combo(ville) ....

help :'(

Nom : 1.PNG
Affichages : 455
Taille : 8,6 Ko
Nom : 2.PNG
Affichages : 455
Taille : 15,1 Ko
Nom : 22.PNG
Affichages : 396
Taille : 1,5 Koci le code postal 63100 correspond a la ville robertcity ( numéro et nom fictif :p)

Si quelqu’un a une idée ... en vous remerciant par avance

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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
package appli;
 
import java.awt.EventQueue;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
 
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
 
public class Villeteste extends JFrame {
 
	private JPanel contentPane;
 
 public static void main(String[] args) {
 
		EventQueue.invokeLater(new Runnable() {
			public void run() {
				try {
					Villeteste frame = new Villeteste();
					frame.setVisible(true);
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		});	
 
	}
 
	public Villeteste() {	
		//la fenetre
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
		setBounds(100, 100, 450, 300);
		contentPane = new JPanel();
		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
		setContentPane(contentPane);
		contentPane.setLayout(null);
		//--------------------------------------------------------combobox1--------------------
		JComboBox CodePostale = new JComboBox();
		CodePostale.setBounds(131, 39, 177, 20);
		contentPane.add(CodePostale);
		CodePostale.addItem("");
 
		try {
			Statement stt;
			ResultSet rst;
			String sql;
			String resultat1;
 
			Connection conn1 = ConnectionBDD.getConnection();
			sql = "SELECT profil.codepostale FROM hobby_one.profil";
	        stt = conn1.createStatement();
	        rst = stt.executeQuery(sql);	         
	        while(rst.next()){	        	 
 
		        	    //Pour affecter une valeur de base de données à un Combobox  
		        	   resultat1=rst.getString(1);
		        	   CodePostale.addItem(resultat1); 
		        	   System.out.println("valeur par default null");		        	   
		         }
	         stt.close();
	         rst.close();
 
	    } catch (Exception e) {
	    	System.out.println("sql1 erreur");
	    }
 
		CodePostale.addActionListener(new ActionListener(){
 
			public void actionPerformed(ActionEvent arg0) {				
				com1=(String) CodePostale.getSelectedItem();				
 
					try {
 
						Statement stt2;
						ResultSet rst2;
						String sql2;
						String resultat = null;
 
						Connection conn1 = ConnectionBDD.getConnection();
						sql2 = "SELECT profil.ville FROM hobby_one.profil WHERE codepostale ='"+com1+"' ";
				        stt2 = conn1.createStatement();
				        rst2 = stt2.executeQuery(sql2);
 
				        while(rst2.next()){	        	 				        	 
				        	      //Pour affecter une valeur de base de données à un Combobox  
				        		resultat=rst2.getString(1);				        	   
				        	    resultat2=resultat;
				        	    System.out.println("2 "+resultat2);	
 
				         }
 
				         stt2.close();
				         rst2.close();
					 } catch (Exception e) {
						    System.out.println("sql2 erreur");
 
				      }				
			}});		
		//-------------------------------------------combobox2------------------------------------
		JComboBox Ville = new JComboBox();
		Ville.setBounds(131, 111, 177, 20);
		contentPane.add(Ville);
		Ville.addItem(resultat2);
 
	}	
 
	static String com1;
	static String resultat2 ;	
	private static JComboBox CodePostale;
	private static JComboBox Ville;
}