Dicas E5

Tenho recebido mensagens com dúvidas sobre o último exercício. Seguem algumas dicas que devem resolver boa parte delas.

Para fazer a seleção do diretório vocês podem utilizar JFileChooser. Sugiro que vocês consultem a documentação. Basicamente vocês precisam criar um objeto desta classe e depois usar setFileSelectionMode para dizer que apenas diretórios podem ser selecionados. Depois disso invoque showOpenDialog para abrir a janela de seleção. Comparem o retorno com JFileChooser.APPROVE_OPTION. Caso diferente, o usuário não selecionou e deve ser ignorado. Use getSelectedFile() para pegar o diretório selecionado.

Uma vez que você conheça o diretório que o usuário deseja exibir, use JTree para exibir o conteúdo. Sugiro que vocês consultem a documentação e o tutorial. JTree possui diversos construtores. Sugiro que usem aquele que recebe apena um TreeNode. Você deve construir um nó root do tipo DefaultMutableTreeNode. Passe como parâmetro uma String com o nome do diretório. Depois crie um objeto DefaultMutableTreeNode para cada item dentro do diretório. É necessário que você adicione estes itens (arquivos ou diretórios) ao root. Use root.add(item). Depois é só construir JTree passando como parâmetro root. No tutorial tem um exemplo deste procedimento.

Se você quiser implementar a alteração do conteúdo de JTree, ou seja, permitir que o usuário selecione um outro diretório, use ((DefaultTreeModel)tree.getModel()).setRoot(root). O objeto tree é o JTree e root é o novo conteúdo do JTree. Consulte o tutorial, em Responding to Node Selection, para ver como tratar a seleção de um dado nó.

Você pode utilizar JTextArea para exibir os valores para um dado arquivo selecionado. Você pode usar File para consultar os valores pedidos referentes ao arquivo. Pode ser interessante usar JScrollPane no JTree e na JTextArea para a exibição completa do conteúdo.

Na parte final do exercício pede para abrir arquivos como Word. Você pode utilizar Runtime. Há um exemplo do uso desta classe no exemplo Livraria que está disponível na página de PLP2 (teórica). É só executar algo como "winword.exe c:\temp\arquivo.doc". Estou considerando que winword.exe está em um dos diretórios listados na variável de ambiente PATH. Caso não esteja, será necessário passar o caminho completo para o executável.