Gostaria de saber como faço para representar uma árvore somente com os discos existentes no sistema, não sendo necessário exibir suas subpastas e arquivos.
Somente um ponto, com as unidades de disco como filhas.
Estou pensando em fazer com JTree, mas naum tenho nenhuma ideia de como fazer… :?
Você pode user o JTree para representar a árvore e usar o File.listRoots() para pegar as unidades disponíveis no seu micro. Veja um exemplo:
public static void main(String[] args) {
File[] raizes = File.listRoots(); //Aqui é retornado um Array de File, cada índice contém um dispositivo de armazenamento
//JFrame para colocar o JTree
JFrame jFrame = new JFrame();
JTree jTree;
jFrame.setLayout(new GridLayout());
//Definindo o nó raiz do JTree
DefaultMutableTreeNode root = new DefaultMutableTreeNode("Meu Computador");
TreeModel model = new DefaultTreeModel(root);
//Populando o JTree com as unidades
for(File raiz : raizes){
root.add(new DefaultMutableTreeNode(raiz.getAbsolutePath()));
}
jTree = new JTree(model);
jFrame.add(jTree);
jFrame.setSize(400, 600);
jFrame.setVisible(true);
}