javaanfänger Geschrieben 24. Juni 2002 Geschrieben 24. Juni 2002 Hi, kann mir einer sagen was daran falsch ist? JFileChooser chooser = new JFileChooser(); // Note: source for ExampleFileFilter can be found in FileChooserDemo, // under the demo/jfc directory in the Java 2 SDK, Standard Edition. ExampleFileFilter filter = new ExampleFileFilter(); filter.addExtension("jpg"); filter.addExtension("gif"); filter.setDescription("JPG & GIF Images"); chooser.setFileFilter(filter); int returnVal = chooser.showOpenDialog(parent); if(returnVal == JFileChooser.APPROVE_OPTION) { System.out.println("You chose to open this file: " + chooser.getSelectedFile().getName()); } Zitieren
LoCal Geschrieben 24. Juni 2002 Geschrieben 24. Juni 2002 Welchen Fehler erhälst Du denn...wäre nicht schlecht zu wissen. Aber ich kann ja mal blind raten Hast Du die Klasse "ExampleFileFilter"? FileFilter sind nämlich Interfaces. Und abgeleitete Klassen müssen die Methoden noch "füllen" LoCal Zitieren
javaanfänger Geschrieben 25. Juni 2002 Autor Geschrieben 25. Juni 2002 Ja, die Klasse habe ich nicht Zitieren
LoCal Geschrieben 25. Juni 2002 Geschrieben 25. Juni 2002 Tja, dann kann es ja auch nicht gehen. Du mußt Dir erst ne FIleFIlter-Klasse schreiben. Zitieren
JeanLucPicard Geschrieben 26. Juni 2002 Geschrieben 26. Juni 2002 ich hatte mal in einem Projekt auch eine FileFilter-Klasse benötigt. Eine Implementierung dieses Interface könnte z.b. so aussehen : /** * Klasse implementiert die Methoden des Interface FileFilter. * Diese Klasse ermoeglicht es, Dateien zu filtern, die ein * Template darstellen koennen. * Mit dem ImgFileFilter ist es moeglich nur die Dateien eines * Verzeichnis zu filtern, * die einen zulaessigen Bildtyp repraesentieren (z.B. GIF, JPEG * usw.). */ public class ImgFileFilter implements FileFilter{ /** * Die Methode accept entscheidet, ob eine Datei zulaessig ist * oder nicht. * @param file Datei, welche auf Zulaessigkeit geprueft werden *soll * @return boolean true, wenn Datei zulaessig ist, andernfalls * false */ public boolean accept(File file){ //prüfen, ob es sich um eine Datei handelt und ob es eine //Grafikdatei(jpg;gif;png) ist if (file.isFile()){ //es sollten nur Betriebssystemunabhaengige Grafikformate //gefiltert werden if ((file.getName().endsWith(".png")) || (file.getName ().endsWith(".jpg")) || (file.getName().endsWith(".gif"))){ return true; } else{ return false; } } else{ return false; } } // accept } //Class ImgFileFilter Viel Spaß Zitieren
javaanfänger Geschrieben 26. Juni 2002 Autor Geschrieben 26. Juni 2002 Nein, das habe ich leider nicht gesucht. Wenn man so einen JFileChooser öffnet, steht doch unten in welchem Format man abspeichern will wie z.B. alle *.* oder *.jpg. Das habe ich gemeint. Zitieren
LoCal Geschrieben 26. Juni 2002 Geschrieben 26. Juni 2002 aber das macht mensch doch mit einem FileFilter. Du kannst Dir quasi soviele FileFilter machen wie du willst......... die erscheinen dann "unten" Zitieren
javaanfänger Geschrieben 26. Juni 2002 Autor Geschrieben 26. Juni 2002 ich habe deine Beispiel ausprobiert und das geht bei mir leider nicht. Zitieren
LoCal Geschrieben 26. Juni 2002 Geschrieben 26. Juni 2002 Bitte sag doch mal genau was du machen willst! Der fehler in deiner ursprünglichen Post war ja, daß die ExampleFileFiler gefehlt hat. Zitieren
javaanfänger Geschrieben 26. Juni 2002 Autor Geschrieben 26. Juni 2002 wenn man z.B. einen JFileChooser öffnet bekommt man eine Öffnen- oder Speichern-Explorer. Da kann man doch angeben welche Dateitypen man sehen will und da will ich nicht nur "alle Dateien *.*" sehen sondern auch noch andere wie z.B. *.txt oder *.properties. Zitieren
LoCal Geschrieben 26. Juni 2002 Geschrieben 26. Juni 2002 yup, daß geht mit dem FileFilter. Der JFileChooser hat eine methode die heißt setFileFilter(FileFilter filter) und damit fügst du die "FilterOptionen" an. Zitieren
javaanfänger Geschrieben 26. Juni 2002 Autor Geschrieben 26. Juni 2002 Ich habe das ganze so probiert aber ich bekomme es nicht zum laufen. Das ist meine JFileChooser und meine FileFilter: private void saveFile3() { jfc = new JFileChooser(); jfc.setCurrentDirectory(new File("")); jfc.setFileFilter(new FileFilter() { public boolean accept(File f) { return f.getName().endsWith(".java") || f.isDirectory(); } public String getDescription() { return "Java Programs (*.java)"; } }); int result = jfc.showSaveDialog(this); if (result == JFileChooser.APPROVE_OPTION) { File f = jfc.getSelectedFile(); tfspeicherort.setText(f.getPath() + f.getName()); writeFile3(f); } } Zitieren
LoCal Geschrieben 26. Juni 2002 Geschrieben 26. Juni 2002 wie lautet denn der fehler? den du erhältst Zitieren
javaanfänger Geschrieben 26. Juni 2002 Autor Geschrieben 26. Juni 2002 der Fehler lautet: VisualCafe (15:03:40): Error: D:\VisualCafeEE451\VCafe\Projects\Oberflaeche.java(312): setFileFilter(javax.swing.filechooser.FileFilter) in javax.swing.JFileChooser cannot be applied to (<anonymous java.io.FileFilter>) Zitieren
javaanfänger Geschrieben 27. Juni 2002 Autor Geschrieben 27. Juni 2002 hi, ich schaffe es leider nicht, hier zu einen FileFilter zu programmier. kannst du mir vielleicht sagen wie ich es schaffen kann? private void saveFile3() { jfc = new JFileChooser(); jfc.setCurrentDirectory(new File("")); int result = jfc.showSaveDialog(this); if (result == JFileChooser.APPROVE_OPTION) { File f = jfc.getSelectedFile(); tfspeicherort.setText(f.getPath()); tfspeicherortinhalt = tfspeicherort.getText(); writeFile3(f); } } Zitieren
JeanLucPicard Geschrieben 29. Juni 2002 Geschrieben 29. Juni 2002 Versuch mal keine anonyme Klasse als FileFilter zu implementieren. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.