Usando um FileDialog para escolher um arquivo de uma determinada extensão
-
12-09-2019 - |
Pergunta
Eu estou tentando usar um arquivo seletor FileDialog porque eu realmente preciso de aplicativo java para ter o seletor de arquivos maçã nativa (Eu sei que nós todo o ódio odeio a falta de portabilidade, mas isso é o que eu preciso). Eu estou tentando fazer o meu arquivo seletor de permitir ao usuário escolher os arquivos que terminam com .ws. Aqui está o que eu tentei:
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);
Por alguma razão o meu arquivo seletor não vai permitir-me para escolher os arquivos. Alguma ideia?
Solução
A resposta foi que eu preciso esta chamada: System.setProperty ( "apple.awt.fileDialogForDirectories", "false");
Outras dicas
Por que não usar 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";
}
}
não têm esta foi feita antes?
De qualquer forma, você pode tentar mudar L & F e continuar usando JFileChooser.
Eu ouvi este é bom: