(Gracias de antemano! Por favor, hágamelo saber si usted necesita más información. Código de la muestra en la parte inferior.)Java JFileChooser con filtro para visualizar los directorios sólo supuestamente no muestran simplemente directorios
problema que estoy tratando de resuelve:
Estoy tratando de obtener este objeto JFileChooser para mostrar solo directorios (y no archivos), mediante el uso de un objeto javax.swing.filechooser.FileFilter que tiene esto en el archivo accept (Archivo) anulado método: return file.isDirectory();
. Sin embargo, al menos en mi mac, no parece impedir que los archivos se muestren junto con los directorios (esto impide que se seleccionen archivos sin utilizar el método setFileSelectionMode()).
Pregunta
Me estoy perdiendo algo? Si no, ¿alguien ha encontrado esto antes?
mi entendimiento/supuestos:
- La magia debe suceder cuando se pasa de un objeto javax.swing.filechooser.FileFilter en el método de la JFileChooser
setFileFilter()
. - parece que mi JFileChooser con setFileFilter() se comporta como su uso de
setSelectionMode(JFileChooser.DIRECTORIES_ONLY);
Código
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";
}
}
Gracias!
Alex
Por favor, aprender [convenciones de nombres de Java] comunes (http://java.sun.com/ docs/books/jls/second_edition/html/names.doc.html # 73307) (específicamente el caso utilizado para los nombres) para los nombres de clases, métodos y atributos y usarlo de manera consistente. –
Gracias por la sugerencia. Además del uso de '_' (que en mi caso era indicar las variables de instancia), ¿te importaría señalar algunas cosas, mientras estoy revisando los documentos en la web sobre las convenciones? –