个人简介:
姓名:关文柏
职业:程序员
联系方式:
MSN:k7sem_88@hotmail.com
发一个以前写的UI代码吧, 一个可以表现目录树结构的java代码, 当然标题说是实现J2ME中的二级树目录意思是比较适合用在J2ME方面,因为J2ME没有提供这种UI组件形式,但实际应用开发中,这类界面用途很广。 下面我简单介绍一下设计思路。首先我们要实现树型目录就要定义一个Tree的主干,也就是Tree类,然后在Tree上面安放节点(Node类)。每个节点下面就是分类的内容项目。 这样就是个二级树结构了。在实现上,我们把每个节点下包含的内容称作Member,让Member和Node都属于一种类型,我给它起名叫做Element。 我这样设计有它的一个好处,就是在界面上比较好表现出来,通过看代码就可以发现了。
下面是Element类的实现,我们把Element定义为抽象类。
Element类中有两个成员变量,分别表示一个元素的名称和选中的状态, 当然这只是我的假设,我们还可以更改Element类,让它具备更多的特性,前提是这些属性要被Node和Member共用。
下面是Member类的实现:
Member类可以什么都没有吗? 当然可以,因为如果它不需要额外的特性,比如带一个图标。 那么它可是不增加任何成员,只要实现一个构造器,然后去掉用一下父类的构造就OK了。
下面是Node类的实现:
Node类看起来比Member类稍微多了一些代码,expand表示这个界面展开和收起的状态,members是一个Vector类对象,用来存储在这个节点下的所有成员。 当然它需要实现一些必要的方法才能完善这些功能,比如addMember和removeMember。
好了,下面是我们的主角,Tree类的实现部分: