kostenloser Webspace werbefrei: lima-city


JFileChooser .xml und Ordner anzeigen

lima-cityForumProgrammiersprachenJava

  1. Autor dieses Themas

    szmast3r

    szmast3r hat kostenlosen Webspace.

    Hallo,

    wie ist es bei einem JFileChooser möglich, .xml Dateien und Ordner anzuzeigen? Wenn ich den Filter für XML Dateien setze, zeigt er keinen einzigen Ordner (logisch, weil diese nicht mit .XML enden). Also habe ich folgendes versucht:
    jfc.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);

    Ohne Erfolg. Er gibt mir immer noch nichts aus, außer XML Dateien. Wie soll es sonst funktionieren, wenn nicht so?
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Wenn ich es richtig verstanden habe, geht es darum, die Auflistung der Dateien und Ordner zu filtern, sodass man XML Dateien auch aus Ordnern auswählen kann. Ich verwende dazu folgenden Code, der hier mit dem OpenJDK 1.7 funktioniert wie erwartet:

    public static String finput(JFrame wndowner, String title) {
    	String retu = null;
    	JFileChooser chooser = new JFileChooser();
    	FileNameExtensionFilter filter = new FileNameExtensionFilter("Ma Zentral 11 Einstellungen (*.xml)", "xml");
    	chooser.setFileFilter(filter);
    	int returnVal = chooser.showDialog(wndowner, title);
    	if(returnVal == JFileChooser.APPROVE_OPTION)
    		retu = chooser.getSelectedFile().getAbsolutePath();
    	return retu;
    }
  4. Autor dieses Themas

    szmast3r

    szmast3r hat kostenlosen Webspace.

    Danke :D ! Nach dem habe ich gesucht... Ich hatte vorher eine neue Filterklasse erstellt, die dann aber auch keine Ordner mehr ausgibt.

    Danke für die Hilfe:)
  5. karlsve

    Moderator Kostenloser Webspace von karlsve

    karlsve hat kostenlosen Webspace.

    Nur der Vollständigkeit halber das ganze mal als Erweiterung der FileFilter Klasse:

    class XMLFileFilter extends FileFilter {
    	@Override
    	public boolean accept(File f) {
    		if (f.isDirectory()) {
    			return true;
    		}
    		if (f.getName().matches("^.*\\.xml$")) {
    			return true;
    		}
    		return false;
    	}
    
    	@Override
    	public String getDescription() {
    		return ".xml";
    	}
    }


    Edit:
    Essenziell für das Anzeigen von Ordnern ist die Abfrage ob die Datei ein Ordner ist und der entsprechende Rückgabewert.
    Der JFileChooser zeigt nur die Dateien an bei denen die accept-Methode ein boolsche's Wahr zurückgibt.

    Beitrag zuletzt geändert: 26.8.2014 14:32:29 von karlsve
  6. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!