el FileDialog no deja escoger SOLO directorios
Hola a todos, por razones de compatibilidad solo puedo utilizar AWT y no swing. Necesito escoger mediante un FileDialog un directorio, pero el dialogo solo permite escoger ficheros, entonces para seleccionar el directorio que me interesa, hace falta que hay previamente un fichero dentro y escoger el path de éste.
Alguien me puede echar una mano o enviarme algo de código? Muchas gracias
Alguien me puede echar una mano o enviarme algo de código? Muchas gracias
Podrias hacer algo asi:
JFileChooser fc = new JFileChooser();
fc.setFileSelectionMode(1);
int status = fc.showOpenDialog(this);
if(status == JFileChooser.APPROVE_OPTION){
java.io.File file = fc.getSelectedFile();
jEMensajes.setText(file.getAbsolutePath());
}
y eso es todo
JFileChooser fc = new JFileChooser();
fc.setFileSelectionMode(1);
int status = fc.showOpenDialog(this);
if(status == JFileChooser.APPROVE_OPTION){
java.io.File file = fc.getSelectedFile();
jEMensajes.setText(file.getAbsolutePath());
}
y eso es todo
Es una solucion un poco elaborada, y no se hasta que punto funcionara todo lo bien que debiera, pero bueno, menos es nada., asi que pruebala.
El FileDialog tiene un metodo que es el de " void setFilenameFilter(FilenameFilter filter) " siendo FilenameFilter una interfaz (del paquete java.io) que debes implementar. Su unico metodo es
public boolean accept(File dir, String name) ;
Devuelves verdadero para aceptar un fichero (y mostrar) y falso para negar un fichero (y ocultarlo), prueba a hacer entonces un:
public class Particular implements FilenameFilter
public boolean accept(File dir, String name){
File f = new File(dir, name);
return f.isDirectory();
}
}
El problema es que no se hasta que punto se relentizara el sistema.... Juega con esa interfaz y prueba otras alternativas parecidas.
El FileDialog tiene un metodo que es el de " void setFilenameFilter(FilenameFilter filter) " siendo FilenameFilter una interfaz (del paquete java.io) que debes implementar. Su unico metodo es
public boolean accept(File dir, String name) ;
Devuelves verdadero para aceptar un fichero (y mostrar) y falso para negar un fichero (y ocultarlo), prueba a hacer entonces un:
public class Particular implements FilenameFilter
public boolean accept(File dir, String name){
File f = new File(dir, name);
return f.isDirectory();
}
}
El problema es que no se hasta que punto se relentizara el sistema.... Juega con esa interfaz y prueba otras alternativas parecidas.