JFileChooser Nur Ordner auswählen aber auch Dateien anzeigen

Vicus

Grünschnabel
Guten Morgen,

ich stehe gerade vor folgendem Problem. Ich habe ein kleines Tool welches ein JFileChooser beinhaltet. Über den FileChooser wird ein Ordner gewählt und die Dateien des Ordners werden ausgelesen. Der Code sieht wie folgt aus:
Java:
JFileChooser xFileChooser = new JFileChooser(  );
      xFileChooser.setFileSelectionMode( JFileChooser.DIRECTORIES_ONLY );
      xFileChooser.setMultiSelectionEnabled( false );
      int iAuswahl = xFileChooser.showOpenDialog( null );

Ich hätte gerne das nur Ordner ausgewählt werden können, der Nutzer aber auch die Dateien im FileChooser sehen kann. Via FILES_AND_DIRECTORIES sehe ich beide, kann aber auch Dateien auswählen.

Freue mich über jeden Tip. :)
 

Akeshihiro

Erfahrenes Mitglied
Wozu willst du denn die Dateien anzeigen, wenn eh nur Ordner gewählt werden können? Das ergibt doch gar keinen Sinn ...

Wenn aber beides sichtbar und wählbar ist, dann wirst du wohl das gewählte Objekt überprüfen müssen, also ob es ein Ordner ist. Ist es kein Ordner, dem Benutzer sagen, dass er einen Ordner wählen soll und den FileChooser nochmal öffnen.

Alternativ kannst du auch gerne einen eigenen FileChooser aus JFileChooser ableiten und dort eingreifen, sprich nur die Selektion von Ordnern erlauben. Aber dazu kann ich grad auch nix sagen.
 

Vicus

Grünschnabel

Darin habe ich nur folgenden Hinweis gefunden: The default is FILES_ONLY. The following picture shows an open dialog with the file selection mode set to DIRECTORIES_ONLY. Note that, in the Java look and feel at least, only directories are visible — not files.

Habe es jetzt auf das System L&F geändert. (Windows) Hat leider auch nicht geholfen.

Der Sinn liegt darin, dass nur bestimmte Dateien gebraucht werden. Der Nutzer soll also bei der Wahl der Ordners erkennen ob die enstprechenden Dateien darin überhaupt enthalten sind.