CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
花落谁家,你作主! 盛大widget设计大赛英雄榜
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Java >  J2SE / 基础类

100分求一树型资源管理器代码

楼主woowoowoo()2004-12-03 03:21:43 在 Java / J2SE / 基础类 提问

实现本地的资源管理器,要求节点到本地文件,有图标显示,有单击和双击时间,单击树型图.双击空在那就行,兄弟有急用.那位大哥能帮帮我,~ 问题点数:100、回复次数:11Top

1 楼yz790724(想想)回复于 2004-12-03 08:44:32 得分 0

UPTop

2 楼Eddie005(♂) №.零零伍 (♂)回复于 2004-12-03 09:05:55 得分 0

up~Top

3 楼zh_baiyu(SkyBay)回复于 2004-12-03 09:09:24 得分 0

难啊。Top

4 楼dragonlw(潜龙在渊)回复于 2004-12-03 09:49:02 得分 0

java-pure-swill这本书上有实例  
  Top

5 楼pdw2009(不想做菜鸟)回复于 2004-12-03 09:54:00 得分 0

呵呵....楼主想在什么地方实现这样的功能呢.如果用swt实现应该不能...  
   
   
  Top

6 楼zzzhc()回复于 2004-12-03 10:07:30 得分 50

这个应该可以满足你的要求:  
  http://blog.csdn.net/zzzhc/archive/2004/12/03/202976.aspxTop

7 楼shangqiao(伤桥(千万不要理解为我可怜桥,是“伤心桥下”的缩写))回复于 2004-12-03 10:59:40 得分 0

我有使用swt的代码,作的非常漂亮,去http://briefcase.tom.com/folder.php?directory_id=125454下载  
  Top

8 楼liubeiqi(无爱无悔)回复于 2004-12-03 11:29:33 得分 50

<script   LANGUAGE="JavaScript">  
  <!--  
  //每个节点有一个数组,包含   4+n个元素    
  //     node[0]为0/1   对应节点的展开/关闭  
  //     node[1]为0/1   对应文件夹的关闭/展开  
  //     node[2]为1   如果节点的子节点是文档  
  //     node[3]是节点的名称  
  //     node[4]...node[4+n]为n个子节点  
   
  //   初始化菜单的数据  
   
  function   generateTree()  
  {  
  var   aux1,   aux2,   aux3,   aux4  
   
  foldersTree   =   folderNode("人力资源管理")  
  aux1   =   appendChild(foldersTree,   folderNode("职工人员档案"))  
  aux2   =   appendChild(aux1,   leafNode("在职人员档案"))  
  appendChild(aux2,   generateDocEntry(0,   "个人基本信息",   "empInfo.jsp",   ""))  
  appendChild(aux2,   generateDocEntry(0,   "合同信息管理",   "empInfo.jsp",   ""))  
  aux2   =   appendChild(aux1,   leafNode("离职人员档案"))  
  appendChild(aux2,   generateDocEntry(0,   "个人基本信息",   "empInfo.jsp",   ""))  
  appendChild(aux2,   generateDocEntry(0,   "合同信息管理",   "empInfo.jsp",   ""))  
  aux1   =   appendChild(foldersTree,   folderNode("人员管理"))  
  aux2   =   appendChild(aux1,   leafNode("培训管理"))  
  appendChild(aux2,generateDocEntry(0,   "培训计划",   "basefolder.htm",   ""))  
  appendChild(aux2,generateDocEntry(0,   "工具软件",   "basefolder.htm",   ""))  
  appendChild(aux2,generateDocEntry(0,   "游戏",   "basefolder.htm",   ""))  
  aux2   =   appendChild(aux1,   leafNode("岗位管理"))  
  appendChild(aux2,   generateDocEntry(0,   "岗位管理信息",   "basefolder.htm",""))  
  aux2   =   appendChild(aux1,   leafNode("人才储备"))  
  appendChild(aux2,   generateDocEntry(0,   "人才储备信息",   "basefolder.htm",""))  
  aux2   =   appendChild(aux1,   leafNode("应聘人员管理"))  
  appendChild(aux2,   generateDocEntry(0,   "应聘人员信息",   "basefolder.htm",""))  
  }  
   
  //   创建节点的辅助函数  
  function   folderNode(name)  
  {  
  var   arrayAux  
  arrayAux   =   new   Array  
  arrayAux[0]   =   0  
  arrayAux[1]   =   0  
  arrayAux[2]   =   0  
  arrayAux[3]   =   name  
                   
                  return   arrayAux  
  }  
  function   leafNode(name)  
  {  
  var   arrayAux  
  arrayAux   =   new   Array  
  arrayAux[0]   =   0  
  arrayAux[1]   =   0  
  arrayAux[2]   =   1  
  arrayAux[3]   =   name  
                   
                  return   arrayAux  
  }  
   
  function   appendChild(parent,   child)  
  {  
  parent[parent.length]   =   child  
  return   child  
  }  
   
  function   generateDocEntry(icon,   docDescription,   link)  
  {  
  var   retString   =""  
   
  if   (icon==0)  
  retString   =   "<A   href='"+link+"'   target=mainFrame><img   src='image/doc.gif'   alt='在右边框架中打开'"  
  else  
  retString   =   "<A   href='"+link+"'   target=_blank><img   src='image/link.gif'   alt='在新窗口中打开'"  
  retString   =   retString   +   "   border=0></a><td   nowrap><font   style='font-size:9pt;font-family:宋体'>"   +   docDescription   +   "</font>"  
   
  return   retString  
   
  }  
   
   
  //刷新树状菜单  
  function   redrawTree()  
  {  
  var   doc   =   top.treeFrame.window.document  
   
  doc.clear()  
  doc.write("<body   bgcolor='white'>")  
  redrawNode(foldersTree,   doc,   0,   1,   "")  
  doc.close()  
  }  
   
  function   redrawNode(foldersNode,   doc,   level,   lastNode,   leftSide)  
  {  
  var   j=0  
  var   i=0  
   
  doc.write("<table   border=0   cellspacing=0   cellpadding=0>")  
  doc.write("<tr><td   valign   =   middle   nowrap>")  
   
  doc.write(leftSide)  
   
  if   (level>0)  
  if   (lastNode)   //'brother'子节点数组中有否兄弟节点  
  {  
  doc.write("<img   src='image/lastnode.gif'   width=16   height=22>")  
  leftSide   =   leftSide   +   "<img   src='image/blank.gif'   width=16   height=22>"    
  }  
  else  
  {  
  doc.write("<img   src='image/node.gif'   width=16   height=22>")  
  leftSide   =   leftSide   +   "<img   src='image/vertline.gif'   width=16   height=22>"  
  }  
   
  displayIconAndLabel(foldersNode,   doc)  
  doc.write("</table>")  
   
  if   (foldersNode.length   >   4   &&   foldersNode[0])   //有更低层的节点和文件夹展开着  
  {  
  if   (!foldersNode[2])//带文件夹的文件夹  
  {  
  level=level+1  
  for   (i=4;   i<foldersNode.length;i++)  
  if   (i==foldersNode.length-1)  
  redrawNode(foldersNode[i],   doc,   level,   1,   leftSide)  
  else  
  redrawNode(foldersNode[i],   doc,   level,   0,   leftSide)  
  }  
  else   //带文档的文件夹  
  {  
  for   (i=4;   i<foldersNode.length;i++)  
  {  
  doc.write("<table   border=0   cellspacing=0   cellpadding=0   valign=center>")  
  doc.write("<tr><td   nowrap>")  
  doc.write(leftSide)  
  if   (i==foldersNode.length   -   1)  
  doc.write("<img   src='image/lastnode.gif'   width=16   height=22>")  
  else  
  doc.write("<img   src='image/node.gif'   width=16   height=22>")  
  doc.write(foldersNode[i])  
  doc.write("</table>")  
  }  
  }  
  }  
  }  
   
  function   displayIconAndLabel(foldersNode,   doc)  
  {  
  doc.write("<A   href='javascript:top.openBranch(\""   +   foldersNode[3]   +   "\")'><img   src=")  
  if   (foldersNode[1])  
  doc.write("image/openfolder.gif   width=24   height=22   border=noborder></a>")  
  else  
  doc.write("image/closedfolder.gif   width=24   height=22   border=noborder></a>")  
  doc.write("<td   valign=middle   align=left   nowrap>")  
  doc.write("<font   style='font-size:9pt;font-family:宋体'>"+foldersNode[3]+"</font>")  
  }  
   
   
  //树收拢时调用的函数  
   
  //当父节点关闭,其所有的子节点也都闭合  
  function   closeFolders(foldersNode)  
  {  
  var   i=0  
   
                  if   (!foldersNode[2])  
  {  
                  for   (i=4;   i<   foldersNode.length;   i++)  
                        closeFolders(foldersNode[i])  
   
  }  
                  foldersNode[0]   =   0  
                  foldersNode[1]   =   0  
  }  
   
  //收拢节点  
  function   clickOnFolderRec(foldersNode,   folderName)  
  {  
  var   i=0  
   
                  if   (foldersNode[3]   ==   folderName)  
  {  
  if   (foldersNode[0])  
  closeFolders(foldersNode)  
  else  
  {  
  foldersNode[0]   =   1  
                                  foldersNode[1]   =   1  
  }  
  }  
  else  
  {  
                  if   (!foldersNode[2])  
                  for   (i=4;   i<   foldersNode.length;   i++)  
                        clickOnFolderRec(foldersNode[i],   folderName)  
  }  
  }  
   
   
  //打开分支  
  function   openBranch(branchName)  
  {  
  clickOnFolderRec(foldersTree,   branchName)  
  if   (branchName=="Start   folder"   &&   foldersTree[0]==0)  
  top.mainFrame.location="basefolder.htm"  
  timeOutId   =   setTimeout("redrawTree()",100)  
  }  
   
  //页面载入时的初始化  
  function   initializeTree()  
  {  
  generateTree()  
  redrawTree()  
  }  
   
  var   foldersTree   =   0  
  var   timeOutId   =   0  
  generateTree()    
   
   
  -->  
  </script>  
  </HEAD>  
  <frameset   rows="100,*"   cols="*"   border="2"   framespacing="0"   onLoad='initializeTree()'>  
      <frame   src=""   scrolling="NO"   noresize   >  
      <frameset   cols="170,*"   border="2"   framespacing="0">  
          <frame   src="basetree.htm"   name="treeFrame"   scrolling="NO"   noresize>  
          <frame   src=""   name="mainFrame">  
      </frameset>  
  </frameset>  
  ------------图片什么的你句自己弄吧~我也是刚弄出来没几天~共同学习~Top

9 楼liubeiqi(无爱无悔)回复于 2004-12-03 11:33:27 得分 0

不好意思呀.双击的事件没写.你自己搞定吧`:PTop

10 楼liubeiqi(无爱无悔)回复于 2004-12-03 11:34:55 得分 0

这段代码你结合XML的结点概念会更好理解的~  
  Top

11 楼woowoowoo()回复于 2004-12-04 18:22:33 得分 0

恩.搞定,结贴Top

相关问题

  • 谁有资源管理器的源代码?
  • 资源管理器
  • 有没有目录树的代码?对于目录文件夹的编历。我想做资源管理器左边的目录树
  • win2k server资源管理器部分源代码!不知大伙见过没?
  • 谁能给我一个实现树型控件内节点拖放的代码(就像资源管理器那样)
  • 谁能给我一个实现N级子树的代码?也就是完全和资源管理器的一样?
  • 哪位大侠有树形导航菜单的源代码(类似于资源管理器),菜单条目以数组形式组织,急用,一定给分
  • 我需要像资源管理器一样的树目录OCX?
  • 资源管理器是左边的目录树怎么做的
  • windows 资源管理器

关键词

  • 代码
  • 双击
  • 实现

得分解答快速导航

  • 帖主:woowoowoo
  • zzzhc
  • liubeiqi

相关链接

  • CSDN Java频道
  • Java类图书
  • Java类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo