Guten Tag.
Ich möchte den Benutzer einen JFileChooser verwenden lassen, um eine (später zu erzeugende) Datei abzuspeichern. Er bestimmt bei der Gelegenheit das Speicher-Verzeichnis sowie den Namen.
Da es sich auf jeden Fall um eine .xls- oder .csv-Datei handeln wird, gebe ich dem FileChooser bislang 2 entsprechende FileFilter mit und mache einen Namensvorschlag (setSelectedFile()).
Das Problem: Die FileFilter müssen auch Verzeichnisse "akzeptieren", sonst kann man vom gerade angezeigten Verzeichnis aus niemals in Unterordner navigieren, da diese dann gar nicht sichtbar sind. (In der Hinsicht dasselbe Ergebnis liefert setFileSelectionMode(JFileChooser.FILES_ONLY).)
Nun will ich aber ja vermeiden, dass der Benutzer ein Verzeichnis selektiert und mit dieser (nach jetziger Programmlogik) "gültigen" Auswahl den Dialog schließt.
Natürlich kann man anschließend prüfen, ob die Auswahl tatsächlich den Anforderungen entspricht und ggf. den Dialog erneut öffnen, aber das kann doch wohl nicht die einzige Möglichkeit sein, ein für so einen Fall sinnvolles Verhalten herbeizuführen?
Wie ich nach weiteren Versuchen feststelle, ist ein zusätzliches Problem, dass bei jedem Klick auf ein Verzeichnis dessen Name ins Feld der zu speichernden Datei übernommen wird.
(Dazu hab' ich allerdings vorhin schon einen Thread hier im Forum gefunden - vielleicht steht da ja auch eine für mich brauchbare Lösung drin ...)
Ich möchte den Benutzer einen JFileChooser verwenden lassen, um eine (später zu erzeugende) Datei abzuspeichern. Er bestimmt bei der Gelegenheit das Speicher-Verzeichnis sowie den Namen.
Da es sich auf jeden Fall um eine .xls- oder .csv-Datei handeln wird, gebe ich dem FileChooser bislang 2 entsprechende FileFilter mit und mache einen Namensvorschlag (setSelectedFile()).
Das Problem: Die FileFilter müssen auch Verzeichnisse "akzeptieren", sonst kann man vom gerade angezeigten Verzeichnis aus niemals in Unterordner navigieren, da diese dann gar nicht sichtbar sind. (In der Hinsicht dasselbe Ergebnis liefert setFileSelectionMode(JFileChooser.FILES_ONLY).)
Nun will ich aber ja vermeiden, dass der Benutzer ein Verzeichnis selektiert und mit dieser (nach jetziger Programmlogik) "gültigen" Auswahl den Dialog schließt.
Natürlich kann man anschließend prüfen, ob die Auswahl tatsächlich den Anforderungen entspricht und ggf. den Dialog erneut öffnen, aber das kann doch wohl nicht die einzige Möglichkeit sein, ein für so einen Fall sinnvolles Verhalten herbeizuführen?
Wie ich nach weiteren Versuchen feststelle, ist ein zusätzliches Problem, dass bei jedem Klick auf ein Verzeichnis dessen Name ins Feld der zu speichernden Datei übernommen wird.
(Dazu hab' ich allerdings vorhin schon einen Thread hier im Forum gefunden - vielleicht steht da ja auch eine für mich brauchbare Lösung drin ...)