import javax.swing.JTree; import javax.swing.tree.DefaultMutableTreeNode; import javax.swing.event.TreeSelectionListener; import javax.swing.event.TreeSelectionEvent; import javax.swing.tree.TreeSelectionModel; import java.io.*; import javax.swing.JEditorPane; import javax.swing.JScrollPane; import javax.swing.JSplitPane; import javax.swing.JFrame; import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.util.*; class CDirectoryTree extends JTree { private String basePath; private JEditorPane pane; private boolean playWithLineStyle = false; public CDirectoryTree (){ // FIXME .. super(); } public CDirectoryTree (DefaultMutableTreeNode top){ super(top); Initialize(); } public void Initialize () { getSelectionModel().setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION); //Listen for when the selection changes. /* addTreeSelectionListener(new TreeSelectionListener() { public void valueChanged(TreeSelectionEvent e) { DefaultMutableTreeNode node = (DefaultMutableTreeNode) getLastSelectedPathComponent(); // Method from JTree if (node == null) return; // erase image ??? // permite que se escreva o nome ou o arquivo pane.setEditable(true); Object nodeInfo = node.getUserObject(); if (node.isLeaf()) { System.out.println(node); // traansforma o nome do arquivo num string String s = node.toString(); // escreve o conteudo do arquivo caso ele seja um .java ou .txt if(s.indexOf(".java") > 0 || s.indexOf(".txt") > 0) { s = node.getParent()+ System.getProperty("file.separator") + s; displayTEXT(s); } else{ if(s.indexOf(".gif") > 0 || s.indexOf(".jpg") > 0 || s.indexOf(".jpeg") > 0) { s = node.getParent()+ System.getProperty("file.separator") + s; displayIMG(s); } else { displayTXT(s); } } } else { System.out.println(node); // escreve o nome do arquivo na tela ao lado displayTXT(""); } // retira a permição de se escrever o nome ou o arquivo pane.setEditable(false); } }); */ if (playWithLineStyle) { putClientProperty("JTree.lineStyle", lineStyle); } } public JEditorPane getJEditorPane () { return pane; } private void createNodes(DirList dl, String path, DefaultMutableTreeNode top) { // Modificar essa parte que monte a arvoré de diretorios try { dl.list(path, top); } catch (IOException ex) { System.err.println(ex); } } }