Estou com uma interface um pouco complexa pra construir, vou explica-la para ver se consigo uma ajuda de vcs.
Bom eu tenho uma interface que tem um diretório do PC de relatórios, se não me engano é uma JTree, cada pasta
dessa Tree eh uma pasta que contem relatórios como mostra na imagem abaixo:
Quando eu seleciono uma pasta abaixo da Tree me aparece todos os relatórios que constam naquela pasta, para melhor
ilustrar segue a imagem abaixo:
Quando eu seleciono um relatório tenho um botão que faz eu selecionar os filtros que desejo para aquele relatório, essa opção
fica invisível e só é exibida quando eu clico no botão, segue a imagem dos filtros:
Queria saber como faço pra colocar um diretório do PC na minha Tree e qual componente eu uso pra colocar os filtros dos relatórios
e deixar ele invisível só sendo visível com a ação do botão?
Desde já agradeço a todos pela ajuda, estou super confuso nessa interface e tenho que faze-la com mais agilidade possível para entregar
no meu trabalho. :?:
Problema resolvido, usei um listAllFiles e usei um método que faz a verificação do diretório usado, verifica se é uma pasta ou um
arquivo…
para pegar o diretório e popular a JTree eu usei
//Chama o método para popular o JTree
listAllFiles("C:\\Users\\diego\\Desktop\\Relatorios", rootNode, true);
[code] public static void listAllFiles(String directory, DefaultMutableTreeNode parent, Boolean recursive) {
// Lista todos os arquivos no diretório “String directory” no array "children"
File[] children = new File(directory).listFiles();
for (int i = 0; i < children.length; i++) {
// Pega o nome de cada Pasta ou Arquivo
DefaultMutableTreeNode node = new DefaultMutableTreeNode(children[i].getName());
// Só mostra o Node se ele é uma pasta e se esta é uma chamada recursiva
if (children[i].isDirectory() && recursive) {
parent.add(node); // adiciona como filho
listAllFiles(children[i].getPath(), node, recursive); // chamada recursiva para trabalhar com o filho
} else if (!children[i].isDirectory()) { // senão caso não seja um diretório
parent.add(node); // adiciona como um arquivo
}
}
}[/code]