Bonjour à tous,
je suis ennuyé par le comportement de JFileChooser.
un test tout simple ci-dessous.
Je clique sur AUTOEXEC.BAT , ce nom apparait dans la zone "Nom de fichier".
Je double-clique sur le dossier "Program files" et je me retrouve dans ce dossier.
Si je valide ouvrir à ce moment, le nom de fichier rendu par le JFileChooser est :
C:\Program Files\AUTOEXEC.BAT ???
Est-il possible par exemple d'effacer le nom du fichier dans la zone "Nom de fichier" si on ouvre un nouveau dossier ?
où dois-je tester l'existence du nom de fichier rendu ?
import javax.swing.*;
import java.io.*;
public class test extends javax.swing.JFrame {
/** Creates new form test */
public test() {
initComponents();
jFileChooser1.setCurrentDirectory(new File("c
" ));
}
// <editor-fold defaultstate="collapsed" desc=" Generated Code ">
private void initComponents() {
jFileChooser1 = new javax.swing.JFileChooser();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
jFileChooser1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jFileChooser1ActionPerformed(evt);
}
});
getContentPane().add(jFileChooser1, java.awt.BorderLayout.CENTER);
pack();
}
// </editor-fold>
private void jFileChooser1ActionPerformed(java.awt.event.ActionEvent evt) {
if (evt.getActionCommand().equals(JFileChooser.APPROVE_SELECTION)) {
System.out.println(jFileChooser1.getSelectedFile());
}
}
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new test().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JFileChooser jFileChooser1;
// End of variables declaration
}