J2ME中实现可伸展目录树TreeList

w24317579

w24317579

2016-01-29 12:30

J2ME中实现可伸展目录树TreeList,J2ME中实现可伸展目录树TreeList
  J2ME里面有自带的List类,但是功能太弱,没有实现View和Model的分离,所以操作起来比较费事。本来事想写一个Canvas的TreeList,但是画起来算坐标又太麻烦,所以选取了一个折中的方法,继承List,实现一个操作起来比较方便的组件。

  目的:

  1.可伸缩的目录树结构,暂时先实现两层。

  2.Label和存储内容分离。

  3.激活和非激活图片分开。

  4.通过选择事件可以准确快速找到对应内容

  5.存储内容无关性,里面可以放置任何Object

  实现思路:

  1.封装一个ExpandItem类,用来存储每一条数据。

/**
* 默认图片
*/
private String imagePath="";
/*
* 激活图片,如果为空说明此图片无效
*/
private String selectImgPath=null;
/**
* 组
*/
public static int GROUP=1;
/**
* 记录
*/
public static int ITEM=0;
/**
* 是否选中,如果选中则默认为展开状态
*/
private boolean ifselected=false;
/**
* 显示Label
*/
private String label;
/**
* 类型:组,记录
*/
private int type;
/**
* 存储的对象
*/
  GROUP表示这个ITEM是一个父节点,下面包含字节点,这样它的Content将是一个Vector.ITEM表示这个ITEM是根节点。

  selectImgPath,是激活后的图标,可以为空,为空的时候选择了这个ITEM图标不变。

  然后就是ExpandList类,此类的数据结构如下:

private Vector itemList = new Vector();

/*用来存储内容的数据结构*/

private ExpandListItem currentSelectedObject = null;

/*当前所选择的对象,方便获取*/

private int currentSelectedIndex = -1;

/*当前选择的对象在队列中的Index,队列有两个,一个是真实数据的存储Vector,另外一个是显示在屏幕上的队列。这两个有时候是不一样的。因为有的节点有子节点*/

private Vector appearHookList = new Vector();

/*显示在屏幕上的Label队列*/
  总的思路如下:

  初始化List的时候,参数是一个Vector,里面可以是ExpandItem或者是Vector.然后根据ExpandItem里面的参数初始化屏幕,如果GROUP节点的ifselected状态为True则递归添加下面的子节点,否则只插入当前节点。图标也是一样,如果ifselected为True 则用激活图标否则用默认图标。

  在用户选择了一个结点后,取得当前的激活的Index号码,判断是不是父节点,如果是的话,首先更新这个父节点的Ifselected属性为True,然后重画这个List;(其实效率更高的方法是直接插入这个父节点的子节点,但是这样做的话,在移除的时候会稍微稍微麻烦一点。有时间我在改过来,呵呵)。如果选择的是子节点,则判断是否有激活图标,如果有,则更新这个图标,就好了。

  下面是效果


本新闻共2页,当前在第1页  1  2  

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/java/)
展开更多 50%)
分享

猜你喜欢

J2ME中实现可伸展目录树TreeList

Java JAVA基础
J2ME中实现可伸展目录树TreeList

J2ME 实现可伸展目录树TreeList

编程语言 网络编程
J2ME 实现可伸展目录树TreeList

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

在J2ME程序中实现声音播放

编程语言 网络编程
在J2ME程序中实现声音播放

J2ME游戏开发中时钟的简单实现

编程语言 网络编程
J2ME游戏开发中时钟的简单实现

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

J2ME中文教程之J2ME技术概述

编程语言 网络编程
J2ME中文教程之J2ME技术概述

J2ME综合:如何在MIDP中实现图片放缩

编程语言 网络编程
J2ME综合:如何在MIDP中实现图片放缩

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

《去吧皮卡丘》新手入门提前看

《去吧皮卡丘》新手入门提前看

《英雄传说 闪之轨迹2》西风旅团AP3取得方法攻略

《英雄传说 闪之轨迹2》西风旅团AP3取得方法攻略
下拉加载更多内容 ↓