• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Gonçalo_ssb

Guardar a directoria com FileChooser

8 mensagens neste tópico

Boa noite,

Estou a tentar que ao pressionar um botão obtenha um FileChooser que me permita apenas guardar a directoria por onde navego e que não tenha nada de ficheiros.

Já pesquisei e obtenho o seguinte código, mas não estou a obter resultados...alguém me pode dar umas dicas?

//abre uma janela que permite escolher qual a directoria onde vamos guardar os backups
    int i = FileChooser_dir_backup.showSaveDialog(option_window.this);

    FileChooser_dir_backup.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
    FileChooser_dir_backup.setAcceptAllFileFilterUsed(false);


     switch (i)
     {
      //Opção caso a opção seja a do botão open
      case JFileChooser.APPROVE_OPTION:
          
      break;
      //Accao do botao de Cancel
      case JFileChooser.CANCEL_OPTION:;break;
      case JFileChooser.ERROR_OPTION:break;
    }

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Segundo percebi, queres criar na directoria seleccionada uma pasta sem ficheiros?

É que se assim for, basta leres o caminho seleccionado e criares lá uma pasta... Não percebi muito bem o que querias dizer

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Não, o objectivo é seleccionar através de um Filechooser uma directoria (por exemplo seleccionar o C:), que depois ficará guardada numa textBox através do comando TextFiled.setText(nome_da_directoria).

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Se percebi o que queres fazer eu fazia o seguinte... Criei este método que abre uma showOpen e retorna o caminho para a pasta seleccionada:

public String ProcuraPasta(){

    String caminhoPasta;
    JFileChooser arquivo = new JFileChooser();
    arquivo.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);

    if(arquivo.showSaveDialog(arquivo) == JFileChooser.APPROVE_OPTION)
       caminhoPasta = arquivo.getSelectedFile().getPath();
    
    else
       caminhoPasta = "";
  
    return caminhoPasta;
}

E depois inseria a String retornada no TextField simplesmente com:

nomedotextfield.setText(ProcuraPasta());

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Boa noite de novo,

Na verdade é isso mesmo que eu pretendia e já consegui implementar, contudo agora há um pequeno senão...é que a primeira vez que abre o FileCooser não selecciona nada, sá depois de eu fechar e voltar a abrir é que já consigo fazer tudo certinho...aqui vai o que tenho implementado e que corresponde ao método do botão de "Procurar".

    
private void btn_procura_dir_backupActionPerformed(java.awt.event.ActionEvent evt) {                                                       

     //abre uma janela que permite escolher qual a directoria onde vamos guardar os backups
     int i = FileChooser_dir_backup.showSaveDialog(this);

     FileChooser_dir_backup.setFileSelectionMode(JFileChooser.SAVE_DIALOG);
     FileChooser_dir_backup.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
     FileChooser_dir_backup.setMultiSelectionEnabled(false);

      //Opção caso a opção seja a do botão open
      //if(i == JFileChooser.APPROVE_OPTION)
      {
            String caminhoPasta = FileChooser_dir_backup.getSelectedFile().getParent();

            this.text_field_dir_backup.setText(caminhoPasta);
      }
     
    }

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Se tens a opção de escolher apenas directorias, então o selectedFile dá-te apenas uma directoria. Se não te está a dar essa directoria é porque tens alguma opção a alterar isso. No código que indicaste, estás a usar uma modificação ou encapsulamento para o JFileChooser, não estarás a alterar aí algo indevidamente?

Além disso, convém indicares que queres apenas directorias antes de abrires a janela diálogo.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Obrigado, pelas ajudas...já consegui resolver a questão faltava-me algumas parametrizações ao nível do filechooser.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Marquei o tópico como resolvido, nas tuas próximas dúvidas faz o mesmo se possível :cheesygrin:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora