Nella mia applicazione, voglio che l'utente sia in grado di selezionare una directory in cui archiviare i dati. Ho un campo di testo che sto usando per visualizzare la directory " hai scelto. Se fanno semplicemente clic su una directory (non sfogliarla), tutto va bene. Tuttavia, se fanno doppio clic sulla directory e guardano al suo interno, il nome della directory viene duplicato.Parte del percorso restituita dalle directory Solo JFileChooser è talvolta duplicato
Es. Sono nella directory home, fai clic sulla cartella Desktop ... il percorso restituito è ~/Desktop. D'altra parte, se si trovano nella directory home, fare doppio clic sulla cartella Desktop e ora si trovano nella cartella Desktop, il percorso restituito è ~/Desktop/Destkop.
Ecco quello che sto facendo:
JFileChooser chooser = new JFileChooser();
chooser.setMultiSelectionEnabled(false);
chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
int returnVal = chooser.showOpenDialog(this);
if (returnVal == JFileChooser.APPROVE_OPTION) {
File f = chooser.getSelectedFile();
loadField.setText(f.getPath());
}
Ho anche provato a fare qualcosa di simile chooser.getCurrentDirectory()
ma che in realtà non funziona neanche.
Edit: L'utilizzo di Mac OS X, Java 1.6
quale versione di sistema operativo e Java è attiva? – akf
Mac Java è tormentato in molti modi. Dovresti forse inviare una segnalazione di bug a Sun? Potresti provare anche OpenJDK 6/Java 7? – akarnokd
Apple è responsabile della loro implementazione Java. I bug specifici per l'implementazione di Apple dovrebbero, credo, essere inviati ad Apple. –