Comportement étonnant de JFileChooser - Java - Programmation
Marsh Posté le 27-06-2005 à 15:13:03
le comportement de jfilechooser n'est pas etonnant car c'est le meme comportement que n'importe kel application : internet explorer, firefox (je viens de le verifier ...)
par contre, apres que tu selectionnes ton fichier et si il n'existe pas, tu devras verifier qu'il n'est pas dans un repertoire parent
Marsh Posté le 27-06-2005 à 11:01:53
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
}