Bonjour à tous,
J'ai créé une JFrame avec 2 JPanel à l'intérieur.
Un JPanel contenant un bouton:
et un JPanel contenant des CheckBoxes que j'incrémente dynamiquement:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 class GenButton extends JPanel implements ActionListener{ GenButton() { JPanel buttonPanel = new JPanel(); JButton genButton = new JButton("Generate File"); genButton.addActionListener(this); buttonPanel.add(genButton); add(buttonPanel); } public void actionPerformed(ActionEvent e){ } }
et voilà le main:
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 class CheckBoxes extends JPanel { int nbFiles; JCheckBox checkBox = new JCheckBox(); CheckBoxes() { CountFiles(); JPanel checkboxPanel = new JPanel(); checkboxPanel.setLayout(new GridLayout(nbFiles, 1)); for (int j=0; j<SearchFiles().length; j++) { checkBox = new JCheckBox(SearchFiles()[j], false); checkboxPanel.add(checkBox); } add(checkboxPanel); } public void CountFiles() { FileFilter fileFilter = new FileFilter() { public boolean accept(File file) { String nameFile = file.getName(); return nameFile.endsWith(".txt"); } }; File source = new File("C:\Work"); File[] dirContent = source.listFiles(fileFilter); //browse the source folder nbFiles = dirContent.length; } public String[] SearchFiles() { FileFilter fileFilter = new FileFilter() { public boolean accept(File file) { String nameFile = file.getName(); return nameFile.endsWith(".txt"); } }; String modele = "^(\\w{3}).*"; Pattern pattern = Pattern.compile(modele); File source = new File("C:\Work"); File[] dirContent = source.listFiles(fileFilter); //browse the source folder File f = null; String[] result = new String[dirContent.length]; for (int i=0; i<dirContent.length; i++) { f = dirContent[i]; Matcher matcher = pattern.matcher(f.getName()); if (matcher.matches()){ result[i] = matcher.group(1); } } return result; }
Ce que je veux faire maintenant c'est de sélectionner des checkbox et que lorsque je clique sur le bouton il écrive dans un fichier les checkbox sélectionnées. Mais à part l'écriture dasn le fichier je ne sais pas comment récupérer les Checkbox cochées.
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 public static void main(String[] argv) { JFrame frame = new JFrame("Test"); JPanel buttonPanel = new GenButton(); JScrollPane scrollPane = new JScrollPane(new CheckBoxes()); JPanel mainPanel = new JPanel(); mainPanel.setLayout(new GridLayout()); mainPanel.add(buttonPanel); mainPanel.add(scrollPane); frame.getContentPane().add(mainPanel); frame.setSize(200,500); frame.setLocationRelativeTo(frame.getParent()); frame.setVisible(true); frame.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent evt) { System.exit(0); } }); }
Quelqu'un aurait une idée.
Merci par avance.
Partager