Jfilechooser e filtro de arquivos

pessoal, estou usando oJFILECHOOSER em meu programa e queria que no tipo de arquivo aparecesse um tipo de arquivo em particular, mas nao estou conseguindo fazer o filtro do arquivo…já tentei alguns exemplos da net mais ainda nao consegui…alguem poderia me ajudar

Em uma busca bem rapida pelo forum:

:arrow: http://www.guj.com.br/posts/list/0/27644.java#149861
:arrow: http://www.guj.com.br/posts/list/0/28226.java#152941

1 curtida

JÁ TENTEI MAIS NAO DEU CERTO

Dessa forma está filtrando apenas .txt e diretórios:

chooser.setFileFilter(new javax.swing.filechooser.FileFilter(){
   public boolean accept(File f){
      return (f.getName().endsWith(".txt")) || f.isDirectory();
   }
   public String getDescription(){
       return "*.ret";
   }
});
1 curtida

Quero agradecer ajuda e dizer que deu certo

muito obrigado

[quote=RRaminelli]Dessa forma está filtrando apenas .txt e diretórios:

chooser.setFileFilter(new javax.swing.filechooser.FileFilter(){ public boolean accept(File f){ return (f.getName().endsWith(".txt")) || f.isDirectory(); } public String getDescription(){ return "*.ret"; } }); [/quote]
Dessa forma ainda é possível selecionar outros arquivos setando a opção “Todos os arquivos”.
Como faço para não permitir que isso aconteça e ele só poder abrir a extensão que eu quero?

[quote=Heartbreaker]Dessa forma ainda é possível selecionar outros arquivos setando a opção “Todos os arquivos”.
Como faço para não permitir que isso aconteça e ele só poder abrir a extensão que eu quero?[/quote]

Consulte o Javadoc antes de perguntar:
http://download.oracle.com/javase/1.4.2/docs/api/javax/swing/JFileChooser.html#setAcceptAllFileFilterUsed(boolean)

Desde o Java 5, há uma forma mais simples de definir um filtro para um tipo de arquivo só:

FileChooser chooser = new JFileChooser(); chooser.setFileFilter(new FileNameExtensionFilter("Image files", "bmp", "png", "jpg")); chooser.setAcceptAllFileFilterUsed(false);

[quote=ViniGodoy][quote=Heartbreaker]Dessa forma ainda é possível selecionar outros arquivos setando a opção “Todos os arquivos”.
Como faço para não permitir que isso aconteça e ele só poder abrir a extensão que eu quero?[/quote]

Consulte o Javadoc antes de perguntar:
http://download.oracle.com/javase/1.4.2/docs/api/javax/swing/JFileChooser.html#setAcceptAllFileFilterUsed(boolean)

Desde o Java 5, há uma forma mais simples de definir um filtro para um tipo de arquivo só:

FileChooser chooser = new JFileChooser(); chooser.setFileFilter(new FileNameExtensionFilter("Image files", "bmp", "png", "jpg")); chooser.setAcceptAllFileFilterUsed(false);[/quote]
Muito obrigado. Preciso pegar mais o costume de olhar na documentação mas acho dificil entender por lá.

E como faço pra quando for salvar, ele automaticamente salvar na extensão que eu quero?
Tentei usar do mesmo modo mas não deu.
PS: eu procurei no javadoc mas não encontrei.

Isso ele não faz sozinho.

Insira você mesmo a extensão:

[code]FileChooser chooser = new JFileChooser();
chooser.setFileFilter(new FileNameExtensionFilter(“Image files”, “bmp”, “png”, “jpg”));
chooser.setAcceptAllFileFilterUsed(false);

if (chooser.showSaveDialog(null) != JFileChooser.APPROVE_OPTION)
return;

File file = chooser.getSelectedFile();
if (!file.getAbsolutePath().endsWith(".png"))
file = new File(file.getAbsolutePath() + “.png”);
[/code]