Avatar billede skillzor Nybegynder
26. maj 2007 - 21:02 Der er 2 kommentarer og
1 løsning

Kan ikke oprette FileFilter

Hej,

Jeg vil gerne benytte mig af en FileFilter til min JFileChooser, dog får jeg en fejl under kompilering, der står at FileFilter er abstrakt. Hvad skal der gøres for at oprette en FileFilter?

JFileChooser chooser = new JFileChooser();
    FileFilter filter = new FileFilter();
    filter.addExtension("log");
    filter.setDescription("Logs");
    chooser.setFileFilter(filter);

Jeg har også følgende imports:
import javax.swing.JFileChooser;
import javax.swing.filechooser.FileFilter;
Avatar billede _carsten Nybegynder
26. maj 2007 - 21:46 #1
Klassen er abstract, så den kan ikke initieres.

Lav din egen klasse som extender FileFilter



JFileChooser chooser = new JFileChooser();
    MyFilter filter = new MyFilter();
    filter.addExtension("log");
    chooser.setFileFilter(filter);





import java.io.File;
import java.util.Vector;
import javax.swing.filechooser.FileFilter;

public class MyFilter extends FileFilter{
   
    public MyFilter() {
    }

    public boolean accept(File f) {
        for(int i = 0; i < extension.size(); i++){
            if( f.toString().endsWith( extension.get(i).toString() ) )
                return true;
        }
        return false;
    }

    public String getDescription() {
        return extension.toString();
    }
   
    public void addExtension(String ext){
        extension.add(ext);
    }
   
    private Vector extension = new Vector();
}
Avatar billede skillzor Nybegynder
26. maj 2007 - 21:59 #2
Det virker perfekt.
Smid et svar Carsten.
Avatar billede _carsten Nybegynder
26. maj 2007 - 22:01 #3
:)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester