Bonjour,
Ci-dessous le bout de code qui me cause pas mal de problème, je suis débutant en java
Le but est lorsque que je fait un choix dans la JComboBox, il y a un Jpanel contenant JLabel + JTextField qui s'affiche.
Cela fonctionne, mais il faut après avoir sélectionner l'item cliquez sur la fenêtre pour que le JPanel s'affiche, et je ne comprends pas pourquoi.
En changeant le Jpanel par un "syso", cela fonctionne normalement, et le contenu du syso s'affiche dans la console.
Merci pour votre aide
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 String []tab= {"","Choix1", "Choix2", "Choix3"}; typeProd = new JComboBox(tab); panelp3.add(typeProd); typeProd.addItemListener(new ItemListener() { public void itemStateChanged(ItemEvent e) { if(e.getItem().equals("Choix1") && e.getStateChange() == ItemEvent.SELECTED){ panelp4.repaint(); panelp4.removeAll(); JLabel leplus= new JLabel("DLUO: "); panelp4.add(leplus); } else if (e.getItem().equals("Choix2") && e.getStateChange() == ItemEvent.SELECTED){ panelp4.repaint(); panelp4.removeAll(); JLabel leplus= new JLabel("Origine : "); panelp4.add(leplus); } else if (e.getItem().equals("Choix3") && e.getStateChange() == ItemEvent.SELECTED){ panelp4.repaint(); panelp4.removeAll(); JLabel leplus= new JLabel("DLC : "); panelp4.add(leplus); } else { panelp4.repaint(); panelp4.removeAll(); } if(!e.getItem().equals("")){ saisireLeplus = new JTextField(10); panelp4.add(saisireLeplus); } } });
Partager