Bonjour tous,
j'ai développé un programme java qui contient trois (3) JComboBox , je veux que le deuxième JComboBox s'affiche lorsque je fais le choix sur le premier , et le troisième s'affiche lorsque je fais le choix sur le deuxième j'ai programmé un code et voilà mon idée
premièrement j'ai déclaré mes variables
cette méthode permet d'instancier mes variable
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 private JComboBox domaine, domaineSecondaire, spécialité; private String [] dm = {"","Science","Littérature","Histoire","Informatique"} ; private String [] dms1 = {"","Vitérinaire","Biologie","Médecine"}; private String [] dms2 = {"","Arabe","Français","Anglais"} ; private String [] dms3 = {"","Islam","Guerre Mondiale","Guerre Algérienne"} ; private String [] dms4 = {"","Programmation","Maintenance","Réseaux"}; private String [] s1 ={"","Chats","Chiens"} ; private String [] s2 ={"","Être Humain","Corp","Quelque chose"} ; private String [] s3 ={"","Dentiste","Médecin Généraliste","Pédiatre","Neurologue"} ; private String [] s4 ={"","Taha Hussein"}; private String [] s5 ={"","Victor Hugo"}; private String [] s6 ={"","Chikspire"}; private String [] s7 ={"","Prophète MOHAMED"}; private String [] s8 ={"","Hitler"}; private String [] s9 ={"","La bataille d'Alger"}; private String [] s10 ={"","JAVA","C++","C#","PHP"} ; private String [] s11 ={"","HardWare","SoftWare"}; private String [] s12 ={"","Installation réseaux"};
et cette méthode permet configurer les composants
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 private void instancierComposants() { cont = getContentPane(); domaine = new JComboBox(dm); domaineSecondaire = new JComboBox(); spécialité = new JComboBox(); }
cette méthode permet d'afficher le deuxième JComboBox selon le choix du premier
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 private void configurerComposants(){ cont.setLayout(null); domaine.addActionListener(this); domaineSecondaire.addActionListener(this); ajouterComposant(cont, domaine, 100, 60, 370, 30); ajouterComposant(cont, domaineSecondaire, 100, 165, 370, 30); ajouterComposant(cont, spécialité, 100, 270, 370, 30); setDefaultCloseOperation(EXIT_ON_CLOSE); setTitle("Reformulation de le requète par réinjection automatique de la pertinence"); setResizable(false); // desactiver le bouton d'agrandissement setLocation(new Point(0, 0)); setSize(new Dimension(600, 600)); setVisible(true); setDefaultCloseOperation(EXIT_ON_CLOSE); }
et cette méthode permet d'afficher le troisième selon le choix du duxième
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 private void choix(){ String dom = (String) domaine.getSelectedItem() ; domaineSecondaire.hide() ; if (dom.equals("Science")) domaineSecondaire = new JComboBox(dms1); else{ if(dom.equals("Littérature")) domaineSecondaire = new JComboBox(dms2); else{ if(dom.equals("Histoire")) domaineSecondaire = new JComboBox(dms3); else{ if(dom.equals("Informatique")) domaineSecondaire = new JComboBox(dms4); } } } ajouterComposant(cont, domaineSecondaire, 100, 165, 370, 30); }
et la méthode actionPerformed
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 private void choixD(){ String domS = (String) domaineSecondaire.getSelectedItem() ; String dom = (String) domaine.getSelectedItem() ; spécialité.hide() ; if (dom.equals("Science")){ if(domS.equals("Vitérinaire")) spécialité = new JComboBox(s1) ; else{ if(domS.equals("Biologie")) spécialité = new JComboBox(s2) ; else{ if(domS.equals("Médecine")) spécialité = new JComboBox(s3) ; } } } else{ if(dom.equals("Littérature")){ if(domS.equals("Arabe")) spécialité = new JComboBox(s4) ; else{ if(domS.equals("Français")) spécialité = new JComboBox(s5) ; else{ if(domS.equals("Anglais")) spécialité = new JComboBox(s6) ; } } } else{ if(dom.equals("Histoire")){ if(domS.equals("Islam")) spécialité = new JComboBox(s7) ; else{ if(domS.equals("Guerre Mondiale")) spécialité = new JComboBox(s8) ; else{ if(domS.equals("Guerre Algérienne")) spécialité = new JComboBox(s9) ; } } } else{ if(dom.equals("Informatique")){ if(domS.equals("Programmation")) spécialité = new JComboBox(s10) ; else{ if(domS.equals("Maintenance")) spécialité = new JComboBox(s11) ; else{ if(domS.equals("Réseaux")) spécialité = new JComboBox(s12) ; } } } } } } ajouterComposant(cont, spécialité, 100, 270, 370, 30); }
mon problème c'est que la condition if (e.getSource() == domaineSecondaire)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 public void actionPerformed(ActionEvent e) { if (e.getSource() == domaine) choix() ; if (e.getSource() == domaineSecondaire) choixD() ; // ici c'est le problème cette condition n'exécute pas }
ne marche pas et j'ai pas trouvé ou est le problème
j'espère que vous avez me compris mon et merci pour vous aides
Partager