Frage von Spuctoh, 59

Wieso funktionier die Java-Anweisung fc.setFileFilter(new FileNameExtensionFilter("*.wav", "wav")); nicht?

Ich lerne gerade Java einem Buch, in dem Programm steht, mit dem über eine graphische Oberfläche Sounddateinen ausgewählt werden können und abgespielt werden.

JFileChooser fc = new JFileChooser();
fc.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
fc.setFileFilter(new FileNameExtensionFilter("*.wav", "wav"));

Beim Filter meldet mir Eclipse den Fehler "The constructor FileNameExtensionFilter(String, String) is undefined". Das gleiche Problem hatte ich schon bei einem ähnlichen Programm mit Bilddateinen. Was muss ich anders machen?

PS: Verwende Java 1.8.0_71

Expertenantwort
von KnusperPudding, Community-Experte für Java, 36

Bei mir geht es, allerdings vermute ich, dass du ggf. einen falschen Import erwischt hast für den FileNameExtensionFilter.

der korrekte Import wäre:

import javax.swing.filechooser.FileNameExtensionFilter;

Dann noch die Anmerkung zum Konstruktor von FileNameExtensionFilter:

Dieser hat einen String Parameter und einen varargs-Stringparameter, wobei du im ersten Parameter eine Beschreibung der Dateien angeben kannst und im zweiten beliebig viele Dateifilter, z.B.:

new FileNameExtensionFilter("Audio-Dateien", "wav", "mp3", "midi")
Kommentar von Spuctoh ,

Ich habe den richtigen import, aber bei dem macht Eclipse ein Warnzeichen mit der Meldung "The import javax.swing.filechooser.FileNameExtensionFilter is never used". Keine Ahnung was ich noch machen soll.

Kommentar von KnusperPudding ,

Mag zwar blöd klingen jetzt. Aber kannst du bitte deine Testklasse auf: Pastebin.com einfügen und hier posten? Da ist definitiv etwas faul.

Keine passende Antwort gefunden?

Fragen Sie die Community