Utilizando um jtextfield combinado com um JFileChooser para selecionar o local e o nome de um arquivo que deve ser salvo, para determinarmos a extensão no seletor de arquivos precisamos extender uma classe do FileFilter, isso pode ser visto em outra oportunidade.

Iremos colocar um JtextField (alterar o nome dessa variável para JtextFieldLocal) desmarcar a propriedade editable se for pela paleta de ferramentas, se for via código o editable deve receber como parâmetro false. Ao lado um botão localizar para o usuário clicar no botão e acionarmos o JFileChooser, então o usuário seleciona o local e nome do arquivo e depois clica em salvar, os dados selecionados são carregados no JtextFieldLocal.

Para melhorar a aparência após colocar a propriedade editable desmarcada podemos personalizar as propriedades, visto que o campo de texto fica com uma cor diferente quando está desabilitado a opção editable.

Após desenharmos o formulário e personalizá-lo, devemos criar o evento para o botão, clicar sobre o botão com o botão direito do mouse selecionar eventos ActionPerformed e colocarmos esse código.


 JFileChooser file = new JFileChooser(); 
          file.setFileSelectionMode(JFileChooser.FILES_ONLY);
          int i= file.showSaveDialog(null);
        if (i==1){
            JtextFieldLocal.setText("");
        } else {
            File arquivo = file.getSelectedFile();
           JtextFieldLocal.setText(arquivo.getPath());
        }

Nesse código acima criamos o novo JFileChooser chamado no exemplo de file, determinamos que aparecerá tudo no seletor até os arquivos , e abrimos a janela do file.showdialog.

Após selecionar o JFileChooser retorna uma resposta, existem outras maneiras para tratar essa resposta, nesse exemplo usaremos a definição do retorno que se for 0(zero) o usuário clicou em salvar, se for 1(um) o usuário clicou em cancelar ou fechar.

Dessa maneira recebemos a resposta do showdialog e testamos qual operação vamos realizar, se for 1 apenas vamos limpar o campo do JtextFieldLocal senão vamos pegar o arquivo selecionado e depois passamos todo o destino até o nome do arquivo para o JtextFieldLocal.

Depois basta definir um botão para salvar o arquivo usando destino do JtextFieldLocal, ou implementar na linha abaixo no else o método para salvar o arquivo.

Assim estamos utilizado um seletor de arquivos onde o usuário seleciona o local e nome do arquivo desejado, como qualquer outro sistema.