public void refreshNode() { try { Vector files = treeview.GetAll(currentnode.GetFile()); tablemodel.addAllFiles(files); appendNodes(currentnode, treeview.GetAllDirectories(currentnode.GetFile())); treemodel.nodeStructureChanged(currentnode); } catch (Exception e) { e.printStackTrace(); } }
@Override public void valueChanged(TreeSelectionEvent e) { // TODO Auto-generated method stub try { currentPath = tree.getSelectionPath(); currentnode = (FileTreeNode) e.getPath().getLastPathComponent(); currentfile = currentnode.GetFile(); tree.scrollPathToVisible(currentPath); // 确保路径中所有的路径组件均展开(最后一个路径组件除外)并滚动,以便显示curpath路径标识的节点 addressText.setText(currentnode.GetFile().getAbsolutePath()); // 将点击的节点的路径在地址栏中显示出来 isTable = false; if (!currentfile.getName().equals("Desktop")) { Vector files = treeview.GetAll(currentnode.GetFile()); // 获取点击节点下的所有文件 tablemodel.addAllFiles(files); // 将这些文件加到列表中 upbtn.setEnabled(true); FileNewFolder.setEnabled(true); NewFolder.setEnabled(true); FileNewFile.setEnabled(true); FileNature.setEnabled(true); FileRename.setEnabled(true); EditCut.setEnabled(true); EditCopy.setEnabled(true); EditPaste.setEnabled(true); NewFile.setEnabled(true); Nature.setEnabled(true); Rename.setEnabled(true); Cut.setEnabled(true); Copy.setEnabled(true); Paste.setEnabled(true); if (!(currentnode.getParent().toString()).equals(File.listRoots()) && (currentnode.toString() != "网络") && (currentnode.toString() != "库") && (currentnode.toString() != "家庭组")) // 不是根节点 { FileDelete.setEnabled(true); Delete.setEnabled(true); } else { FileDelete.setEnabled(false); Delete.setEnabled(true); } } else { downbtn.setEnabled(false); upbtn.setEnabled(false); FileNewFolder.setEnabled(false); // 菜单栏中的菜单选项 FileNewFile.setEnabled(false); FileNature.setEnabled(false); FileRename.setEnabled(false); FileDelete.setEnabled(false); EditCut.setEnabled(false); EditCopy.setEnabled(false); NewFolder.setEnabled(false); // 右键菜单中的菜单选项 NewFile.setEnabled(false); Nature.setEnabled(false); Rename.setEnabled(false); Delete.setEnabled(false); Cut.setEnabled(false); Copy.setEnabled(false); currentnode = (TreeNode) treemodel.getRoot(); tablemodel.addAllFiles(treeview.GetRoot()); } } catch (Exception ee) { JOptionPane.showMessageDialog(null, "读取文件错误!", "Error", JOptionPane.ERROR_MESSAGE); ee.printStackTrace(); } }