Como salvar Arquivo na maquina do usuario ( interface grafica )

9 respostas
D

Ae galera,

Eu to fazendo uma interface grafica que deve permitir ao usuario gravar um arquivo na sua maquina.
Como que eu faço para aparecer uma janela grafica na tela pra ajudar o usuario escolher o caminho que ele quer salvar o arquivo? Como a do exemplo em anexo

Abraço

9 Respostas

M

Já deu uma pesquisada em JFileChooser?

http://docs.oracle.com/javase/tutorial/uiswing/components/filechooser.html

Té mais.

G

http://docs.oracle.com/javase/7/docs/api/javax/swing/JFileChooser.html

Veja o método showSaveDialog.

J

Caro DarkLouis
Em aplicações Swing, com o uso de NetBeans, é só procurar por “Seletor de Arquivos” em Janelas Swing e arrastá-lo para o seu formulário.
Espero ter ajudado.
Fique com Deus.

G

Adicione um JButton(“Selecione um arquivo”) ; e no actionPerformed dele digite:

JFileChooser fileChooser = new JFileChooser();
fileChooser.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);//use FILES_ONLY caso deseje que o usuario selecione apenas arquivos
fileChooser.setDialogTitle("Selecione um arquivo por favor");
int status = fileChooser.showOpenDialog(null);
if (status == JFileChooser.APPROVE_OPTION) {
      File file = fileChooser.getSelectedFile();//esse é o arquivo que o usuario escolheu, faça o que quiser com ele
}else{
      // o usuario desistiu, faça algo
}

Para gravar algum dado nesse arquivo escolhido, poderá utilizar a lib commons-io da apache para agilizar.

Veja esse post: http://programadorprofissional.blogspot.com.br/2012/08/use-as-libs-commons-da-apache.html

att

D

Brigado pela atenção galera;

Na verdade eu já tinha lido esse artigo.O que eu estou precisando é um poco diferente.

Na verdade eu não vou ter nenhum File selecionado, então quando ele clicar em Salvar eu não quero que ele de fato salve, eu só quero pegar o caminho ( URL ) do diretório que ele escolheu.Porque dai eu vou passar para a a minha camada de persistência, essa sim vai SALVAR o arquivo de fato na maquina.

Eu já gerei a janela, como podem ver no anexo.Agora eu só quero descobrir como fazer o botão salvar me dar apenas uma URL.

Abraço

M

Para pegar a URL ao clicar em salvar tente algo parecido com isso:

File caminho;
JFileChooser fileChooser = new JFileChooser();
/* [...] */
if (fileChooser.showSaveDialog(janela) != JFileChooser.CANCEL_OPTION) {
    caminho = fileChooser.getSelectedFile();
} else {
    caminho = null;
}

Té mais.

D

Ah beleza, funcionou!

Ultima coisa… se eu quiser que a caixa de dialogo “nome do arquivo” (circulada em vermelho no anexo) já venha preé-preenchida com arquivo.txt por exemplo, qual o método?

Eu dei uma olhada nos métodos do filechoser não achei nada.

M

Experimente algo mais ou menos assim:

JFileChooser fileChooser = new JFileChooser();
fileChooser.setSelectedFile(new File("arquivo.txt"));//faz com que o campo "nome do arquivo" venha preenchido
fileChooser.showDialog(componente, "Header do JFileChooser");//linha que exibe seu file chooser

Té mais

D

Funcionou!

Valeu

Criado 13 de outubro de 2012
Ultima resposta 14 de out. de 2012
Respostas 9
Participantes 5