Ⅰ java 怎么将server服务器中的目录树传到client客户端
可以在服务器端读取目录树,然后做成一个StringBuffer传到客户端。
下面的代码是BS结构的例子,可以参考一下。
/**
* 递归建树
* @param file
* @param s
*/
private static void saveXmlTree(File file,StringBuffer s) {
if (file == null || !file.exists()) {
return ;
}
File[] subs = file.listFiles();
if(subs==null) return;
s.append("<UL>");
for (int i = 0; i < subs.length; i++) {
s.append("<li ");
if(subs[i].listFiles()!=null){
s.append("class=\"closed\"");
}
s.append(">");
if(subs[i].listFiles()!=null){
s.append("<span class=\"folder\">");
}else{
s.append("<span class=\"file\">");
}
s.append(subs[i].getName());
s.append("</span>");
saveXmlTree(subs[i],s);
s.append("</li>");
}
s.append("</UL>");
}
Ⅱ java web 创建目录树导航
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
public class MenuBarDemo extends JFrame {
JMenuBar menuBar;
JMenu file,edit,news;
JMenuItem newsFile,javaFile,open,exit;
JMenuItem undo,redo,,cut,paste,find,replace;
public static void main(String[] args) {
new MenuBarDemo().setMenuBar();
}
public void setMenuBar(){
menuBar = new JMenuBar();
this.setJMenuBar(menuBar);
file = new JMenu("文件");
news = new JMenu("新建");
newsFile = this.addItem("文件夹", news);
javaFile = this.addItem("java文件", news);
file.add(news);
open = this.addItem("打开", file);
exit = this.addItem("退出", file);
edit = new JMenu("编辑");
undo = this.addItem("撤销", edit);
redo = this.addItem("重做", edit);
cut = this.addItem("剪切", edit);
= this.addItem("拷贝", edit);
paste = this.addItem("粘贴", edit);
find = this.addItem("查找", edit);
replace = this.addItem("替换", edit);
menuBar.add(file);
menuBar.add(edit);
this.setBounds(200, 200, 300, 300);
this.setResizable(false);
this.setVisible(true);
}
public JMenuItem addItem(String name,JMenu menu){
JMenuItem temp = new JMenuItem(name);
menu.add(temp);
return temp;
}
}
Ⅲ 姹俲ava涓瀹炵幇涓绾с佷簩绾ф爣棰樼殑鍔熻兘锛
杩欐槸涓涓绠鍗曠殑鐩褰曟爲鍟,,,浣犲浘鐗囦腑鐨勮捐″氨鏄绛旀堜簡鍛
鐢熸垚鏍戠殑璇濆彧瑕佹妸鎵鏈夌殑璁板綍鍏ㄩ儴鏌ュ嚭鏉, 鐒跺悗鐢ㄩ掑綊鐨勬柟娉曟潵鍒ゆ柇 瀛愯彍鍗曠殑ID 涓庝富鑿滃崟鐨処D鍏宠仈
缁欎綘涓鍙傝 鎴戞槸鎶婄洰褰曟爲鐢熸垚鎴怷ML,,鍘熺悊涓妯′竴鏍,,,鎴戠殑琛ㄧ粨鏋勮捐$殑涔熻窡浣犲畬鍏ㄧ浉鍚
public StringBuffer initXml() throws FunctionsXmlTreeException {
strXml.append("<?xml version='1.0' encoding='utf-8'?>\n"
+ "<tree id='0'>");
try {
strXml.append(createTree(funs));
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
throw (new FunctionsXmlTreeException("鐢熸垚鍔熻兘鐩褰曟暟鏃跺嚭鐜伴敊璇!"));
}
strXml.append("</tree>");
return strXml;
}
private String createTree(List<Functions> funlist) throws Exception {
StringBuffer xml = new StringBuffer();
for (Functions fun : funlist) {
xml.append("<item text='" + fun.getFunname() + "' id='"
+ fun.getFunid() + "' open='1'>\n");
if (null != fun.getFuns()) {
xml.append(createTree(fun.getFuns()));
}
xml.append("</item>\n");
}
return xml.toString();
}
Ⅳ java如何循环目录树
用深度优先或者广度优先的方法都可以遍历
Ⅳ Java中 JTree 如何自定义目录树
JTree 默认地使用 DefaultMutableTreeNode,这里面有个 UserObject 可以用来存放你的数据,单击是通过 selectionListener 来实现的。
看下面这个例子,版抄权人家的代码试验一下就明白了。
http://docs.oracle.com/javase/tutorial/uiswing/components/tree.html
Ⅵ java 目录树如何检索子级返回
Java中使用递归算法实现查找树形结构中所有父级和子级节点,用递归加一个全局变量标记是否已经找到,然后返回。
截取后面的一段例子:
if (list[i].ID.Equals(id) || found)
found = true;
return;
拓展资料
递归查询子级节点
1.一个节点可能有多个子级节点,每个自己节点可能还有更多的子级节点。
2.所以递归时的参数用一个list来接受,首先遍历参数list,分别查询pid为参数id的对象。
3.每一个参数id所查询返回的数据是一个对象的list。
4.遍历list获取符合条件的对象的id值,一份存到temp中用作递归的参数,并存到全局变量中用来获取所有符合条件的id。