Gonçalo_ssb Posted April 29, 2009 at 10:16 PM Report #260110 Posted April 29, 2009 at 10:16 PM 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; }
KiNgPiTo Posted April 29, 2009 at 11:11 PM Report #260135 Posted April 29, 2009 at 11:11 PM 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
Gonçalo_ssb Posted April 30, 2009 at 09:31 AM Author Report #260193 Posted April 30, 2009 at 09:31 AM 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).
KiNgPiTo Posted April 30, 2009 at 12:08 PM Report #260222 Posted April 30, 2009 at 12:08 PM 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());
Gonçalo_ssb Posted April 30, 2009 at 08:49 PM Author Report #260385 Posted April 30, 2009 at 08:49 PM 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); } }
Knitter Posted May 1, 2009 at 01:49 PM Report #260521 Posted May 1, 2009 at 01:49 PM 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.
Gonçalo_ssb Posted May 1, 2009 at 02:13 PM Author Report #260533 Posted May 1, 2009 at 02:13 PM Obrigado, pelas ajudas...já consegui resolver a questão faltava-me algumas parametrizações ao nível do filechooser.
djthyrax Posted May 1, 2009 at 05:23 PM Report #260578 Posted May 1, 2009 at 05:23 PM Marquei o tópico como resolvido, nas tuas próximas dúvidas faz o mesmo se possível 😁 Não peças ajuda por PM! A tua dúvida vai ter menos atenção do que se for postada na secção correcta do fórum!
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now