(Vielen Dank im Voraus! Bitte lassen Sie mich wissen, wenn Sie weitere Informationen benötigen. Beispielcode unten.)Java JFileChooser mit Filter angezeigt werden angeblich nur Verzeichnisse nicht nur um zu zeigen Verzeichnisse
Problem Ich versuche, lösen:
ich versuche, dieses JFileChooser Objekt zu erhalten nur Verzeichnisse (und nicht-Dateien), durch die Verwendung eines javax.swing.filechooser.FileFilter Objekt anzuzeigen, dass dies im annehmen muss (File-Datei) außer Kraft gesetzt Methode: return file.isDirectory();
. Allerdings scheint es zumindest auf meinem Mac nicht zu verhindern, dass Dateien zusammen mit den Verzeichnissen angezeigt werden (es verhindert, dass Dateien ohne die setFileSelectionMode() -Methode ausgewählt werden).
Frage
bin ich etwas fehlt? Wenn nicht, ist das schon mal jemandem begegnet?
Mein Verständnis/Annahmen:
- Die Magie passieren soll, wenn Sie in einem javax.swing.filechooser.FileFilter Objekt in den
setFileFilter()
Methode des JFileChooser passieren. - Scheint wie meine JFileChooser mit setFileFilter() verhält sich wie sein von
setSelectionMode(JFileChooser.DIRECTORIES_ONLY);
-Code
import java.io.File;
import javax.swing.filechooser.FileFilter;
// inside a method that's adding this to a JPanel
_fileChooser = new JFileChooser(".");
_fileChooser.setControlButtonsAreShown(false);
_fileChooser.setFileFilter(new FolderFilter());
// _fileChooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
_panelMidLeft.add(_fileChooser);
// an inner class, defined somewhere else in the class
private class FolderFilter extends javax.swing.filechooser.FileFilter {
@Override
public boolean accept(File file) {
return file.isDirectory();
}
@Override
public String getDescription() {
return "We only take directories";
}
}
Dank!
Alex
Bitte lernen gemeinsam [Java Namenskonventionen] (http://java.sun.com/ docs/books/jls/second_edition/html/names.doc.html # 73307) (speziell der für die Namen verwendete Fall) für Klassen-, Methoden- und Attributnamen & konsistent verwenden. –
Danke für den Vorschlag. Abgesehen von der Verwendung von '_' (was in meinem Fall tatsächlich Instanzvariablen anzeigen würde), würde es Ihnen etwas ausmachen, auf einige Dinge hinzuweisen, während ich gerade die Dokumentation über die Konventionen im Web durchblättere? –