Ⅰ 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。