bonsoir

je suis en train de faire un projet avec interface graphique. En premier lieu
je sélectionne des fichiers voila le code
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;
    }
 
    }
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
 
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();
 
 
        }
la fonction de sélection ne marche pas j'ai pas compris où le problème.
S'il vous plaît aidez moi
Cordialement