国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

用java小程序applet實現無限級樹結構

2019-11-18 13:39:14
字體:
來源:轉載
供稿:網友

  該程序可以根據從指定的xml文件中讀取的有關信息動態的建立一棵樹。

1.該樹的特點:

1)無限級樹結構

理論上樹的深度可以無限,樹的深度由XML文件所給的信息確定;

數據加載采用一次加載和動態加載相結合的方法;

每次打開相關頁時重新加載樹結構,真正的做到了建立樹的動態性。

2)復用性

由于這棵樹是通過讀取XML文件建立的,樹的程序代碼固定,所以具有很強的復用性。只需要給出XML文件,程序就可以建立對應的樹。

3)與用戶的交互

由于該程序是用java小程序實現的,所以可以利用java語言中監聽事件的類,以響應用戶操作。與用戶具有更好的交互性。

2.程序結構

這棵樹主要有三個類實現:

1) 類TreeNode:該類起輔助作用,用來描述樹的數據結構,并提供一些setter,getter函數用來設置樹結構的屬性。

2) 類IconRender:該類也是一個輔助類,用來設置樹節點的圖標。并且可以根據樹節點的選中狀態改變圖標。

3) 類AppletTree:該類是建立這棵樹的主要類,它繼續自Applet并且實現了TreeSelectionListener接口,以用來監聽用戶操作。樹結構由java類JTree顯示,我們只需要合理的設定JTree的屬性就可以構造出這棵樹。而它的屬性是通過jdom中的Element讀取XML文件提供的。上面已經提到監聽用戶操作是通過實現TreeSelectionListener接口完成的,但是只監聽不響應毫無用處。怎樣才能將監聽到的用戶操作傳給相應的類以響應用戶的操作呢?這里用的方法是通過URL將參數傳遞給jsp文件,再由JSP文件傳給相應的操作類實現的。

這三個類的代碼如下:

1.TreeNode類

public class TreeNode{

PRivate String id;

private String name;

private String link;

public TreeNode(String id,String name,String link){

this.id=id;

this.name=name;

this.link=link;

}

public String getId(){

return id;

}

public void setId(String Id){

this.id=Id;

}

public void setName(String Name){

this.name=Name;

}



public String getName(){

return name;

}



public String toString(){

return name;

}

public String getLink(){

return link;

}

public void setLink(String link){

this.link=link;

}

}

2. IconRender類

import javax.swing.*;

import java.awt.*;

import javax.swing.tree.*;

import javax.swing.tree.DefaultTreeCellRenderer;

IconRender

class extends DefaultTreeCellRenderer {





//創建用于顯示的圖標

public static final ImageIcon leafSelectedIcon = new ImageIcon("OpenedFolder.ico");

public static final ImageIcon leafUnSelectedIcon = new ImageIcon("closedFolder.ico");

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 芦山县| 应城市| 长沙县| 斗六市| 页游| 锡林郭勒盟| 牟定县| 邵阳市| 浙江省| 荥阳市| 阿瓦提县| 库尔勒市| 泰兴市| 临洮县| 铜山县| 德兴市| 昌宁县| 吉木乃县| 孙吴县| 定结县| 宜州市| 荔浦县| 宁明县| 将乐县| 高阳县| 普定县| 周宁县| 澎湖县| 明溪县| 雅安市| 都安| 苍山县| 中卫市| 临海市| 红安县| 西峡县| 林州市| 都安| 津市市| 北辰区| 马公市|