JTree, como localizar/retornar todas as unidades lógicas da máquina e setar no JTree

5 respostas
E

BOA NOITE CAROS AMIGOS, ESTOU INICIANDO NA COMUNIDADE E ESTE É MEU PRIMEIRO POST, MEU CONHECIMENTO NA LINGUAGEM É SUPERFICIAL, NUNCA ME APROFUNDEI ENTÃO MUITO ME PASSA DESPERCEBIDO E NEM MESMO TENHO IDÉIA DE COMO FAZER.

MINHA DUVIDA É A SEGUINTE, ESTOU MONTANDO UMA TELA PRA REALIZAR O BACKUP DE MINHA BASE DE DADOS, SENDO ASSIM, ESTOU UTILIZANDO UMA JTREE PARA VISUALIZAÇÃO DAS UNIDADES QUE A MÁQUINA POSSUI, “C:”, “D:”, …, E SUAS RESPECTIVAS PASTAS E ARQUIVOS, PARA QUE O USUÁRIO, EM CASO DA NECESSIDADE DE RESTAURAR A BASE POSSA VISUALIZAR O ARQUIVO DO BACKUP, E/OU ATÉ MESMO PROCURAR O DESTINO DO ARQUIVO “.BACKUP”.

O PROBLEMA COMEÇA AGORA, CONSEGUI MONTAR O CÓDIGO DE FORMA QUE EU APENAS VISUALIZO AS UNIDADES A PARTIR DA EXPECIFICAÇÃO DO NOME DA MESMA, EX: “C:”, MAS ESSES “NOMES” NECESSITAM SER PRÉ-CADASTRADOS, GOSTARIA DE SABER SE EXISTE ALGUM COMANDO OU ATALHO PARA VISUALIZAR TODAS AS UNIDADES PARA ESCOLHER ENTRE ELAS, E NÃO TER A NECESSIDADE DE “PREVER” QUAIS UNIDADES A MÁQUINA TEM, TORNANDO MEU SISTEMA DINÂMICO;

E CLARO, COMO ATRIBUO À JTREE DA MELHOR FORMA POSSÍVEL.

DESDE JÁ, MUITO OBRIGADO!!

5 Respostas

E

Desculpas, o texto em maiúsculo é por força do hábito, mas não se repetirá.

Nunca trabalhei com este componente mas vou procurar aprender sobre ele, agora, ele possui algum comando que retorne para mim as unidades lógicas da máquina (como por exemplo quando você vai salvar um arquivo, tem a tela pra procurar as unidades)?

Eu montei o seguinte código para capturar a pastas dentro da unidade que foi informada pelo parâmetro;

public void varre(String base, DefaultMutableTreeNode no) {
	   File diretorio = new File(base); // a String informa a unidade escolhida pelo usuário: "C:" "D:" ...
	   File[] conteudo = diretorio.listFiles();

       if(conteudo==null){
	      JOptionPane.showMessageDialog(null, "Diretorio Inexistente ou Inacessivel","Erro",JOptionPane.ERROR_MESSAGE);
	   }else{
           ...
           }
	 }

Compreendi o conselho de utilizar outro componente, a dúvida é: o JFileChooser funciona desta maneira? e se também independente do JFileChooser, existe a possibilidade de retornar todas as unidades da máquina. Ao invés de setar inicialmente o nome da unidade (sem nem mesmo saber se ela existirá no meu cliente), é so pra esclarecer a dúvida mesmo, vou procurar saber sobre o JFileChooser.

Agora se tiver algum material de apoio e puder disponibiliza-lo agradeço muito.

e obrigado pelo conselho Wellington.

E

show show show, valeu mesmo wellington é isso mesmo que preciso, agora só falta estudar e aprender, como lhe falei, sinto mesmo por não ter visto os links, e foi falta de atenção mesmo.

obrigado meu amigo, salvou minha pele.

WellingtonRamos

Olá Emerson,

Primeiramente, evite escrever tudo em maiúsculas, ok? :wink:

Quanto a tua dúvida: Um JFileChooser não resolveria ao invés de você implementar um JTree?
JavaDoc
Tutorial Oracle
Outros tutoriais

WellingtonRamos

Emerson_sannin:
Desculpas, o texto em maiúsculo é por força do hábito, mas não se repetirá.

Nunca trabalhei com este componente mas vou procurar aprender sobre ele, agora, ele possui algum comando que retorne para mim as unidades lógicas da máquina (como por exemplo quando você vai salvar um arquivo, tem a tela pra procurar as unidades)?

Eu montei o seguinte código para capturar a pastas dentro da unidade que foi informada pelo parâmetro;

public void varre(String base, DefaultMutableTreeNode no) {
	   File diretorio = new File(base); // a String informa a unidade escolhida pelo usuário: "C:" "D:" ...
	   File[] conteudo = diretorio.listFiles();

       if(conteudo==null){
	      JOptionPane.showMessageDialog(null, "Diretorio Inexistente ou Inacessivel","Erro",JOptionPane.ERROR_MESSAGE);
	   }else{
           ...
           }
	 }

Compreendi o conselho de utilizar outro componente, a dúvida é: o JFileChooser funciona desta maneira? e se também independente do JFileChooser, existe a possibilidade de retornar todas as unidades da máquina. Ao invés de setar inicialmente o nome da unidade (sem nem mesmo saber se ela existirá no meu cliente), é so pra esclarecer a dúvida mesmo, vou procurar saber sobre o JFileChooser.

Agora se tiver algum material de apoio e puder disponibiliza-lo agradeço muito.

e obrigado pelo conselho Wellington.


Desculpe, mas vou dizer qual a impressão que me passou a tua resposta: Que você sequer olhou os links que postei.
A não ser que você precise, literalmente, de todas as unidades ao mesmo tempo, ela deve servir sim. O JFileChooser é equivalente àquelas janelas de Abrir Arquivo, Salvar Arquivo, etc. Há várias customizações que podem ser feitas e ele pode te retornar a URI que você passaria para a classe File.

Não sei exatamente qual a necessidade. Pode até ser que não sirva mesmo. Obter as unidades envolve comunicar-se com o SO.

WellingtonRamos

:thumbup:

Criado 17 de maio de 2011
Ultima resposta 18 de mai. de 2011
Respostas 5
Participantes 2