Problem mit Speicherdialog

ich_Schmiddy

Mitglied
Hallo!

Ich habe eine Frage zu einem Speicherdialog.

Ich habe zwei FileFilter definiert, der mir nur bestimmte Dateien anzeigen. Z.B. einer alle Dateien mit der Endung txt und der andere alle mit der Endung doc. Ich kann auch perfekt zwischen beiden umschalten, und es werden nur die angezeigt, die auch angezeigt werden sollen.

Mit setSelectedFile habe ich eine Datei vorgegeben. Wenn man jetzt aber z.B. den Filter für die txt-Dateien am Anfang drin hat, und dann auf den für die doc umschaltet, ist der vorgeschlagene Dateiname weg.... Kann man dies irgendwie verhindern?


So habe ich die FileFilter definiert:



FileFilter ff2 = new FileFilter()
{
public boolean accept(File F)
{
return F.isDirectory() || F.getName().toLowerCase().endsWith(".txt");
}

public String getDescription()
{
return "Text-Datei(*.txt)";
}
};

DateiChooser.setFileFilter(ff2);
 
Musst vielleicht einfach das SelectedFile noch mal setzen?
Snape (ab heute mit realem Foto :))
 
aber wo soll ich das selectedFIle nochmal setzen? In den FileFIlter gehts (soweit ich weiß) nicht rein... Und ich weiß nicht ob und wie ich einen Listener definieren kann, der ausgelöst wird, wenn ein anderer filter ausgewählt wird.......?
 
selectedFile wird gleich nach dem ertsellen des FileChoosers gesetzt,
so sieht der Code aus:



==========
JFileChooser DateiChooser = new JFileChooser(Pfad);

DateiChooser.setSelectedFile(new File(Pfad + "\\" + InfoName));
DateiChooser.setDialogType(JFileChooser.SAVE_DIALOG);

FileFilter ff1 = new FileFilter()
{
public boolean accept(File F)
{
return F.isDirectory() || F.getName().toLowerCase().endsWith(".xls");
}

public String getDescription()
{
return "Excel-Datei(*.xls)";
}
};

DateiChooser.setFileFilter(ff1);

FileFilter ff2 = new FileFilter()
{
public boolean accept(File F)
{
return F.isDirectory() || F.getName().toLowerCase().endsWith(".ls");
}

public String getDescription()
{
return "LS-Datei(*.ls)";
}
};

DateiChooser.setFileFilter(ff2);

====
 
Original geschrieben von ich_Schmiddy
selectedFile wird gleich nach dem ertsellen des FileChoosers gesetzt,
==========
JFileChooser DateiChooser = new JFileChooser(Pfad);
DateiChooser.setSelectedFile(new File(Pfad + "\\" + InfoName));
====

Dann setze doch das SelectedFile erneut mit

DateiChooser.setSelectedFile(new File(Pfad + "\\" + InfoName));

bevor der DateiChooser erneut geöffnet wird.
 
Aber der Speicherdialog wird ja gar nicht neu geöffnet. Er wird einmal geöffnet, dabei wird die selectedFile gesetzt und die FileFilter. Die FilfFilter aktualisieren dann die Anzeige, ohne daß der FileChooser neu aufgerufen werden muß. Und in die FileFilter kann ich das mit setSelectedFile (soweit ich weiß) nicht reinschreiben.......
 
Zurück