网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Java
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.JUnit实施.
.基于Java 2平台的引用类使用指南.
.Hibernate初体验Cat之快速上手.
.JBUILDER 5 新特性.
.开源技术:Hibernate 3注释简介.
.设计模式在EJB中的应用.
.void main(String[] args)中的ar.
.Java 语法介绍(二):运算符.
.用Java实现SMTP服务器.
.Microsoft.Net 的Java实现.
.ScriptEngineBuildVersion 函数.
.Java之旅(9)多态性.
.java中处理连续多个空格.
.Java编程基础中模式和框架的介绍.
.在LINUX下配置JAVA开发环境.
.Java Map 集合类简介.
.使用Properties类带来的好处.
.基于JAVA技术的搜索引擎的研究与.
.为Struts的测试辩护!.
.Java 虚拟机类装载:原理、实现与.

用java小程序applet实现无限级树结构

发表日期:2008-1-5



  该程序可以根据从指定的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");
上一篇:用java学习数据结构--单链表 人气:1095
下一篇:用java中的canendal 如何计算两个日期之间的每一日? 人气:660
浏览全部Java的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐