ein File-Dialog unter Verwendung einer Datei mit einer bestimmten Erweiterung zu wählen

StackOverflow https://stackoverflow.com/questions/1246857

  •  12-09-2019
  •  | 
  •  

Frage

Ich versuche, eine File-Dialog Dateiauswahl zu verwenden, weil ich muß die Java-Anwendung, um wirklich die native Apple Dateiauswahl (Ich weiß, wir alle hassen den Mangel an Portabilität hassen, aber das ist, was ich brauche). Ich versuche, meine Datei Chooser zu machen erlauben dem Benutzer, Dateien auswählen, die mit .ws beenden. Hier ist, was ich versucht:

            FileDialog fd = new         

           FileDialog(_sharedInstance,rsc.str("480"),FileDialog.LOAD);
           // fd.setFile("*.ws");
            class WSFilter implements FilenameFilter {
                public boolean accept(File dir, String name) {
                    return (name.endsWith(".ws"));
                }
            };
            FilenameFilter wsFilter = new WSFilter();

            fd.setFilenameFilter(wsFilter);
            fd.setDirectory(_projectsBaseDir.getPath());
            fd.setLocation(50,50);

           // fd.setFile("*");
            fd.setVisible(true);

Aus irgendeinem Grund meine Dateiauswahl wird nicht zulassen, dass mir alle Dateien auszuwählen. Irgendwelche Ideen?

War es hilfreich?

Lösung

Antwort wurde ich brauche diesen Aufruf: System.setProperty ( "apple.awt.fileDialogForDirectories", "false");

Andere Tipps

Warum nicht verwenden JFileChooser?

JFileChooser fileChooser = new JFileChooser(new File(filename));
fileChooser.addChoosableFileFilter(new MyFilter());

class MyFilter extends javax.swing.filechooser.FileFilter {
    public boolean accept(File file) {
        String filename = file.getName();
        return filename.endsWith(".java");
    }
    public String getDescription() {
        return "*.java";
    }
}

Haben Sie nicht diese vor gefragt worden?

Wie auch immer, können Sie versuchen, L & F zu ändern und halten JFileChooser verwenden.

Ich habe gehört, dies ist gut:

Quaqua Look and Feel

alt text

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top