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.