FileChooser - Dateiendung anfügen

melmager

Erfahrenes Mitglied
Ich habe mal ein FileChooser erzeugt, dazu noch ein paar passenen Filter erzeugt -

nur ... wie bekomme ich es hin das der FileChooser die Datei endung die der Filter vorgibt auch automatisch anhängt wenn vom user nicht geschehen?
Betrifft natürlich nur die neu Anlage eines Files -- "save as"

oder falls man das selber regeln soll / muss - wie bekomme ich raus welcher Filter genutzt wurde, damit ich im Programm die endung anbauen kann ?
 
Zuletzt bearbeitet:
Ich habe die Lösung :)

zuerst habe ich rausgefunden das es meine selbstgeschriebene Fiterfunction schon gib :)

FileNameExtensionFilter("beschreibung","end")

Code:
jFileChooser1 = new javax.swing.JFileChooser();

jFileChooser1.setName("jFileChooser1"); // NOI18N
jFileChooser1.addChoosableFileFilter(new javax.swing.filechooser.FileNameExtensionFilter("ZIP Dateien","zip"));
jFileChooser1.addChoosableFileFilter(new javax.swing.filechooser.FileNameExtensionFilter("XML Dateien","xml"));
damit erzeuge ich erstmal zwei Dateifilter. einmal zip und einmal xml

Code:
// ich starte den FileChooser über ein Menueeintrag also lande ich hier ...
private void saveMenuItemActionPerformed(java.awt.event.ActionEvent evt) {                                             
        // estmal brauche ich eine Deklaration
        FileNameExtensionFilter filter;
        // aufruf Filechooser
        int retval = jFileChooser1.showSaveDialog(this.getFrame());

        if (retval == jFileChooser1.APPROVE_OPTION) {
            // hier wird ermittelt welcher Filter eingestellt war 
            filter = (FileNameExtensionFilter)jFileChooser1.getFileFilter();
            // und hier hole ich die file extension
            jTextAreaMidi.append(filter.getExtensions()[0]);
            File fcfile = jFileChooser1.getSelectedFile();
            jTextAreaMidi.append(fcfile.getName());
        }
    }
Da "getFileFilter" ein "Filefilter" holt aber der "FileNameExtensionFilter" eine erweiterung ist brauche ich ein Cast
die Function "getExtensions" gibts nur bei der erweiterung
ist ein Array - da in meinem Fall nur ein Extension als Filter vorhanden ist - eine einfache Sache

nächster Halt aufpeppen des FileChoosers durch voranzeige ....
 
Zuletzt bearbeitet:
Ich versuche grade den FileChooser durch ein Jtree als Accessory aufzuwerten

bevor ich mich da noch weiter einwühle ...

kann man auch die Classe File überladen ?

dann hätte ich für mein Problem anzeigen vom Inhalt einer Zipdatei ein ganz andren ansatzpunkt..

mal grob gesagt sowas: ein zweiter Filechooser zeigt dann dein Inhalt des Zips an..
Oder ist die Idee zu Irre ?
 
Wenn du mit Java 7 arbeitest, solltest du aber generell java.nio.file.Path bevorzugen – wobei der JFileChooser das offensichtlich noch nicht so recht unterstützt…
 
Also ich möchte doch den FileChooser mit einem Jtree aufpeppen.

aber einiges verstehe ich bei dem Jtree noch nicht.

Ich muss ja den Jtree dynamisch aufbauen - frage mich allerdings ob ich mit TreePath da richtig liege.

wenn ich den Inhalt des Zipfiles auslese bekomme ich z.B so eine Zeile

main/sub/datei.txt

Zitat: TreePath(Object[] path) "Creates a TreePath from an array."

wenn dann
Code:
String zeile = "main/sub/datei.txt";
treepath = new TreePath(zeile.split('/'));
mache was erhalte ich dann ?
legt er alle einträge des Trees in einer Ebene an oder macht er sub ebenen ?
 

Neue Beiträge

Zurück