bonsoir
je suis en train de faire un projet avec interface graphique. En premier lieu
je sélectionne des fichiers voila le code
puis j'appelle une fonction pour analyser les fichiers sélectionnées (cette fonction je l'ai testée à part et elle marche)
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 /* * To change this template, choose Tools | Templates * and open the template in the editor. */ package project; import java.awt.Container; import java.awt.FlowLayout; import javax.swing.*; import java.awt.event.*; import java.io.File; import javax.swing.filechooser.FileFilter; /** * * @author Administrateur */ public class SelectionFichier extends JPanel implements ActionListener { /* un JBouton pour appeler un JFileChooser */ private JButton bParcourir = new JButton("Parcourir"); /* un JTextField pour afficher le chemin du fichier choisie */ private JTextField txtCheminFichier = new JTextField(50); /* extension des fichiers acceptés par le JFileChooser */ private String extension; public JFileChooser chooser = new JFileChooser(); /* Constructeur */ public SelectionFichier(String extension) { this.extension = extension; construireInterface(); bParcourir.addActionListener(this); } /* méthode privée pour construire l'interface */ private void construireInterface() { txtCheminFichier.setEditable(false); this.add(txtCheminFichier); this.add(bParcourir); } @Override public void actionPerformed(ActionEvent evt) { Object source = evt.getSource(); if((JButton)source == bParcourir) { int state = chooser.showOpenDialog(null); File[] files = chooser.getSelectedFiles(); String[] filenames = getFilenames(files); if(filenames != null && state == JFileChooser.APPROVE_OPTION) { JOptionPane.showMessageDialog(null,filenames); } else if(state == JFileChooser.CANCEL_OPTION) { JOptionPane.showMessageDialog( null, "Canceled"); } else if(state == JFileChooser.ERROR_OPTION) { JOptionPane.showMessageDialog( null, "Error!"); } } } public String [] selection(){ File[] files = chooser.getSelectedFiles(); String[] filenames = getFilenames(files); return filenames; } private String[] getFilenames(File[] files) { String[] filenames = null; int numFiles = files.length; if(files.length > 0) { filenames = new String[numFiles]; for(int i=0; i < numFiles; ++i) { filenames[i] = files[i].getPath(); System.out.println(filenames[i]); } } return filenames; } /* renvoie false si txtCheminFichier est vide */ public boolean isThereAChosenFile() { return txtCheminFichier.getText().isEmpty() == false; } }
la fonction de sélection ne marche pas j'ai pas compris où le problè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
17
18
19
20
21
22
23
24 if((JButton)source == bAnalyser) { if(selectionFichier.isThereAChosenFile()) { new Thread() { @Override public void run() { try { txtEtat.setText("Analysis in progress..."); files= selectionFichier.selection(); UseGate.gate(files); txtEtat.append("\n\nL'opération s'est déroulé avec succès :\n" ); } catch (Exception e) { Toolkit.getDefaultToolkit().beep(); txtEtat.append("\n\nL'opération n'a pas pu se terminer"); } } }.start(); }
S'il vous plaît aidez moi![]()
![]()
![]()
![]()
Cordialement








Répondre avec citation








Partager