Beispiel #1
0
 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();
   }
 }
Beispiel #2
0
  @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();
    }
  }