JFileChooser für Files and Directories

  • Themenstarter Themenstarter baddie
  • Beginndatum Beginndatum
Status
Nicht offen für weitere Antworten.
B

baddie

Gast
Hallo Leute,

ich habe ein Problem mit meinem Filechooser. Wie bekomme ich es hin, dass mir zu einem die Ordner ausgelesen werden und die selektieren Dateien. Momentan liest er bei den Files auch den Ordner Namen als File mit. Wie kann ich das am besten ausschließen?

Lasse ich selectedFiles durlaufen, taucht der Ordnername mit auf. Lasse ich selectedFolder durchlaufen, liest er mir brav den Ordner mit aus.


Code:
public String[] fileChooser() {
		fc.setAccessory(new ImagePreview(fc));
		fc.setMultiSelectionEnabled(true);
		fc.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
		fc.setFileFilter(new javax.swing.filechooser.FileFilter() {
			public boolean accept(File f) {
				if (f == null)
					return true;
				if (f.isDirectory())
					return true;
				if (f.getName().toLowerCase().endsWith("jpg")
						|| f.getName().toLowerCase().endsWith("gif")
						|| f.getName().toLowerCase().endsWith("jpeg")
					)
					return true;
				return false;
			}

			public String getDescription() {
				return "Bilddatein (*.jpg, *.jpeg, *.gif)";
			}
		});

		int result = fc.showOpenDialog(frame);
		if (result == JFileChooser.APPROVE_OPTION){			
			File[] selectedFiles = fc.getSelectedFiles();
		 	File[] selectedFolder = fc.getSelectedFile().listFiles();
	}

Vielen Dank im vorraus
baddie
 
wo is das problem? dass in selectedFolder nur quatsch drin ist, ist klar. du musst deine ordner halt selbst aus dem array herausfiltern.
 
Mein FileChooser sieht so aus. Vielleicht kannst du dir ja die eine oder andere anleihe nehmen.

Code:
public class Pathfinder  extends JFrame {
  private JFileChooser chooser;
    public Pathfinder() {

    // Dateiauswahl einrichten
    chooser = new JFileChooser();

    chooser.setCurrentDirectory(new File("."));

    //Es werden Verzeichnisse und keine Dateien angezeigt. Ergo können nur Verzeichnisse ausgewählt werden.
    chooser.setFileSelectionMode(1);

    // Dateiauswahldialogfeld anzeigen
    int result = chooser.showDialog(Pathfinder.this, "Transfer");

    // Falls Textdatei akzeptiert, als Symbol des Bezeichnungsfeldes festlegen
    if (result == JFileChooser.APPROVE_OPTION) {
      String name = chooser.getSelectedFile().getPath();
    }
    
    if (result == JFileChooser.CANCEL_OPTION) {
      dispose();
    }
  }

}


mfg
juergen
 
Hätte ja sein können, dass es eine einfachere Möglichkeit gibt.
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben