选择显示字体大小

j2me中实现可伸展目录树treelist

  目的:

  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;(其实效率更高的方法是直接插入这个父节点的子节点,但是这样做的话,在移除的时候会稍微稍微麻烦一点。有时间我在改过来,呵呵)。如果选择的是子节点,则判断是否有激活图标,如果有,则更新这个图标,就好了。

  下面是效果




  附代码一份,这是我me组件库中很早的版本了。别的组件以后在写。其实最好的方法就是写canvas。

[1] [2] [3]  下一页


 


关键字 本文所属关键字

相关 与本文相关文章

分类 所有文章关键字导航

源码编程相关

Java   Asp   PHP   .Net   XML   C/C++   CGI   VB   Jsp   J2ee   J2se   J2me   EJB   Servlet   Tomcat   Resin   Struts   Weblogic   Eclipse   ANT   GUI   JMS   Web servise   IDEA   Webphere   Hibernate   Spring   Jboss   Applet   Swing   Socket   Javamail   Perl   Ajax   P2P   安全   模式   框架   测试   开源   游戏

SQL数据库相关

My-SQL   Ms-SQL   Access   DB2   Oracle   Sybase   SQLserver   索引   存储过程   加密   数据库   分页   视图  

手机无线相关

3G   Wap   CDMA   GRPS   GSM   IVR   彩信   短信   无线   增值业务

网页设计制作相关

HTML   CSS   网页配色   网页特效   Javascript   VBscript   Dreamweaver   Frontpage   JS   Web   网站设计

网站建设推广相关

建站经验   网站优化   网站排名   推广   Alexa

操作系统/服务器相关

Windows XP   Windows 2000   Windows 2003   Windows Me   Windows 9.x   Linux   UNIX   注册表   操作系统   服务器   应用服务器

图形图像多媒体相关

Photoshop   Fireworks   Flash   Coreldraw   Illustrator   Freehand   Photoimpact   多媒体   图形图像

标准 网站致力的规范

Valid CSS!

无不良内容,无不良广告,无恶意代码

Valid XHTML 1.0 Transitional

creativecommons