JFileChooser feste Dateiendung

KGD92

Mitglied
Moin,

ich würde gerne meine FileChooser dazu bringen nur bestimmte Dateitypen anzuzeigen.

Hoffe ihr könnt mir helfe.

Grüße Kai
 
Du benötigst einen FileFilter. Beispiel:

Java:
import java.io.File;

import javax.swing.JFileChooser;
import javax.swing.filechooser.FileFilter;

public class FileChooserExample {
	public FileChooserExample() {
		JFileChooser f = new JFileChooser();
		f.setFileFilter(new MyFilter(".jpg"));
		
		// "Alle Dateien" Filter deaktivieren
		f.setAcceptAllFileFilterUsed(false);
		
		// FileChooser anzeigen
		f.showOpenDialog(null);
	}

	public static void main(String[] args) {
		new FileChooserExample();
	}
	
	class MyFilter extends FileFilter {
		private String endung;
		
		public MyFilter(String endung) {
			this.endung = endung; 
		}
		
		@Override
		public boolean accept(File f) {
			if(f == null) return false;
			
			// Ordner anzeigen
			if(f.isDirectory()) return true;
			
			// true, wenn File gewuenschte Endung besitzt
			return f.getName().toLowerCase().endsWith(endung);
		}

		@Override
		public String getDescription() {
			return endung + " only";
		}
	}
}
 
Zurück