Copiei este trecho de uma classe que tenho aqui. Está filtrando normalmente:
// Criação do file chooser.
JFileChooser fileChooser = new JFileChooser();
// Seta o título do diálogo.
fileChooser.setDialogTitle("Selecione o arquivo fonte");
// Define o filtro de seleção.
fileChooser.addChoosableFileFilter(new FileNameExtensionFilter(
"Planilhas do excel (*.xls)", "xls"));
fileChooser.setAcceptAllFileFilterUsed(false);
// Impede seleções múltiplas.
fileChooser.setMultiSelectionEnabled(false);
// Exibe o diálogo.
int op = fileChooser.showOpenDialog(this);
. . .
R
renatorudolf
Perae, posso ta fazendo cagada, me tira uma duvida.
adicionar extensao de arquivo no JFileChooser serve tanto pra abrir quando salvar ?
E
Eric_Yuzo
Sim.
Se não me engano a diferença de um para o outro é texto que aparece no botão.
E
Eric_Yuzo
Posta o trecho inteiro da parte que chama o file chooser.
R
renatorudolf
quero q apareca a extensao txt na janela showSaveDialog.
Aplique o filtro antes de chamar o método showSaveDialog.
R
renatorudolf
Aeeeee Funcionou.
Mas é o seguinte, a classe JFileChooser num me permite salvar com extensao txt tb ? (alem de me mostras somente arquivos com extensao txt)
E
Eric_Yuzo
Não entendi muito bem. Quer dizer, criar um arquivo que não exista já com a extensão txt?
O JFileChooser permite que se selecione arquivos. Ele não cria nem escreve neles, o que ele faz é retornar um objeto que representa um arquivo, que pode existir ou não. O tratamento dos arquivos é uma etapa a parte.
Quanto ao FileFilter, ele só filtra os arquivos que aparecem na tela. Ele não trata o que é digitado pelo usuário.
R
renatorudolf
Entendi,
mas gostaria que o arquivo fosse salvo em .txt automaticamente, sem que o usuario tenha q escrever nomeDoArquivo.txt.
já fez isso alguma vez ?
E
Eric_Yuzo
Uma forma seria concatenar o “.txt” ao nome que for digitado pelo usuário na hora de criar o arquivo.
O método getPath retorna o caminho do arquivo (o que deve estar sem extensão), em seguida concatena com a extensão. Depois basta criar um objeto File com este caminho.
R
renatorudolf
Valew Eric Yuzo, deu certo.
abraço
Q
quil
Então seria algo como isso.
Filefile=escolha_arquivo.getSelectedFile();//Criamos um PrintWriter, para escrever no arquivo.PrintWriterpw=null;Stringtexto=areatexto.getText();try{//Escrevemos no arquivo.pw=newPrintWriter(file+".txt");pw.println(texto);
Ou seja concatenando o arquivo que eu vou salvar com a extenção .TXT assim: