100分求一树型资源管理器代码 java-pure-swill这本书上有实例 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 呵呵....楼主想在什么地方实现这样的功能呢.如果用swt实现应该不能... 这个应该可以满足你的要求:http://blog.csdn.net/zzzhc/archive/2004/12/03/202976.aspx 我有使用swt的代码,作的非常漂亮,去http://briefcase.tom.com/folder.php?directory_id=125454下载 <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=0var 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 = 0var timeOutId = 0generateTree() --></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>------------图片什么的你句自己弄吧~我也是刚弄出来没几天~共同学习~ 这段代码你结合XML的结点概念会更好理解的~ 出来的窗口上的组件显示不出来,但是用鼠标改变一下窗口的大小后组件就出来了,我是要刷新父窗口吗,还是什么,求解 谁有尚学堂OOAOOD的视频啊? java求救!!! Eclipse插件开发中添加菜单的问题 我刚开始学习JavaSE遇到了一个字符串的问题,实在是不晓得怎么解决了,希望哪个前辈高手能帮小弟解决下,不胜感激! java正则表达式 一个JAVA小问题!! 哪里查frameset和frame的属性? 一个大家都比较感兴趣的问题 几个小问题 请教高手:如何在Applet中获得MAC地址 学生跪求!
http://blog.csdn.net/zzzhc/archive/2004/12/03/202976.aspx
<!--
//每个节点有一个数组,包含 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>
------------图片什么的你句自己弄吧~我也是刚弄出来没几天~共同学习~