Bonjour à tous.
J'ai créer une Jframe avec deux boutons radio.
Je voudrai lorsque je clique sur l'un d'entre eux un JFileChoose s'ouvre.
Le problème avec mon code c'est que le JFileChooser s'ouvre lorsque je clique sur n'importe lequel des deux boutons radio.
Voici mon code
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
52
53
54
55
56
57
58
59
60
61
62
63
64 import javax.swing.*; import java.awt.*; import java.awt.event.*; class RadioButton extends JPanel implements ItemListener { JRadioButton singleManual = new JRadioButton("Stand-alone Manual",true); JRadioButton addManual = new JRadioButton("Add Manual to an existing environment",false); JButton button = new JButton("Ok"); RadioButton() { ButtonGroup groupManual = new ButtonGroup(); JPanel ButtonPanel = new JPanel(); addManual.addItemListener(this); singleManual.addItemListener(this); groupManual.add(addManual); groupManual.add(singleManual); ButtonPanel.setLayout(new BorderLayout()); ButtonPanel.add(singleManual, BorderLayout.WEST); ButtonPanel.add(addManual, BorderLayout.EAST); ButtonPanel.add(button, BorderLayout.SOUTH); add(ButtonPanel); } public static void main(String[] argv) { JFrame monCadre = new JFrame("Production"); monCadre.setContentPane(new RadioButton()); monCadre.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent evt) { System.exit(0); } }); monCadre.pack(); monCadre.setLocationRelativeTo(monCadre.getParent()); monCadre.setVisible(true); } public void itemStateChanged(ItemEvent evt){ Object source = evt.getSource(); if (source == addManual) { JFrame monFileChooser = new JFrame("Pick an environement"); monFileChooser.setContentPane(new FileChooser()); monFileChooser.pack(); monFileChooser.setLocationRelativeTo(monFileChooser.getParent()); monFileChooser.setVisible(true); } } } class FileChooser extends JPanel { JFileChooser envChooser = new JFileChooser(); FileChooser() { add(envChooser); } }
Partager