Article View: es.comp.lenguajes.java
Article #17557Re: FilenameFilter
From: al
Date: Tue, 07 Nov 2000 00:00
Date: Tue, 07 Nov 2000 00:00
97 lines
3230 bytes
3230 bytes
Hallo!!
Bueno, lo que yo te digo vale para Swing, pero aunque tu no lo utilices
supongo que no tendras que cambiar demasiado.
Lo que tienes que hacer es crear una clase que extienda a "FileFilter" y
en ella implementar el metodo "accept (File f)", que es el que se encarga.
(tambien tienes que implmentar "getDescription). Y despues, asignar este
filtro al "FileChooser" con "setFiFilter" o "addChoosableFileFilter".
Por si te intersa aqui mando la clase que hice yo en su dia, pero me
temo que nunca llegue a probarla bajo "linux", asi que espero que me digas
si funciona o no, ok??.
Su uso seria algo asi como
Filtro filtro=new Filtro();
/* extensiones que quieres anyadir*/
filtro.addExtension("gif");
filtro.addExtension("TXT");
/* descripcion del filtro*/
filtro.setDescription("mis extensiones");
JFileChooser fileChooser = new JFileChooser(".");
fileChooser.setFileFilter(filtro);
Eso es todo, espero que te sea de ayuda, bye,
al.
**********************************************
import java.io.File;
import java.util.Hashtable;
import javax.swing.filechooser.FileFilter;
public class Filtro extends FileFilter{
private Hashtable validas=new Hashtable();
private String desc=new String ("Al 99");
public Filtro() {
super();
}
public boolean accept (File f){
if (f.isDirectory()){
return (true);
}
String extension=getExtension(f);
return (validas.containsKey(extension));
}
private String getExtension (File f){
String nombre=f.getName();
int pos=nombre.lastIndexOf('.');
if (pos>0){
return (nombre.substring(pos+1).toLowerCase());
}
else{
return ("sin extension");
}
}
public void addExtension (String ext){
validas.put(ext.toLowerCase(),"");
}
public void setDescription (String d){
desc=d;
}
public String getDescription (){
return (desc);
}
}
********************************************************
Pablo Rey Mayo <prey@cesga.es> schrieb in im Newsbeitrag:
3A07E686.54576423@cesga.es...
Hola a todos,
�Como puedo cambiar en un FileDialog el filtro de los ficheros?. Usando
algo como 'openFileDialog1.setFile("*.dat");' en Windows solo aparecen
los ficheros *.dat como quiero, pero sin embargo en UNIX aparecen todos
los ficheros. Intente usar la propiedad FilenameFilter (o algo asi),
pero en la ayuda no encontre como hacerlo. Alguien me puede ayudar con
esto.
Un saludo.
--
Pablo Rey Mayo
email: prey@cesga.es ; http://www.cesga.es/
Technical Details
Message-ID:
<3a08044a$0$29231$73bec562@personalnews.de.uu.net>Path:
arc1-ca.pugleaf.net!unknown!not-for-mailReferences:
<3A07E686.54576423@cesga.es>Show Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII X-Google-Thread: 1116f3,17ffc286f8dab8e8 X-Google-Attributes: gid1116f3,public From: "al" <alkitte@hotmail.com> Subject: Re: FilenameFilter Date: 2000/11/07 Message-ID: <3a08044a$0$29231$73bec562@personalnews.de.uu.net> X-Deja-AN: 690781053 References: <3A07E686.54576423@cesga.es> X-Priority: 3 X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2314.1300 X-Complaints-To: abuse@de.uu.net X-Trace: 973603915 personalnews.de.uu.net 29231 149.225.58.60 Organization: Customer of UUNET Deutschland GmbH X-MSMail-Priority: Normal Newsgroups: es.comp.lenguajes.java