在J2ME中维护多级选择菜单列表的好方法

时间:2010-03-29 23:14:16

标签: java java-me

我需要一种很好的方法来维护多个表单级数据以进行菜单选择。 所以例如,如果我有 A和B,每个可能有1 2 3 所以 一个  A1  A2  A3 乙  B1  B2  B3

这可以持续很长时间,这样我就可以拥有A - > A1 - > A1.1 - > A1.1.1 -.... 我有以下课程,工作正常但我怀疑我们可以做得更好。

我只需要像Widget那样选择一个选择树,但是每个选择级别都以另一种形式出现(在J2ME中)

import java.util.Vector;
 public class Tag {
    private String tag;
    private Vector childTags;
    private Tag parent;

    Tag(String tag, Vector childtag)
    {
        this.tag = tag;
        this.childTags= childTags;
    }

    public void setChildTags(Vector childTags) {
        this.childTags = childTags;
    }

    public Vector getChildTags() {
        return this.childTags;
    }

    public String getTag() {
        return this.tag;
    }


    public String toString(int depth)
    {
                String a  ="";
        if(depth==0)
        {
            a = a + this.getTag();
        }

        if(this.getChildTags()!= null)
        {

                    for(int k=0;k <this.getChildTags().capacity(); k++)
                      {
                                for (int i=0; i<depth; i++ ) {
                                        a = a + ("-");
                                }
                                a = a+ ( ((Tag)this.getChildTags().elementAt(k)).toString(depth++));
        }   }
    return a;
        }


}

1 个答案:

答案 0 :(得分:0)

您可以使用某些类来表示菜单命令。将1 2 3和A B C视为命令以及组合它们的组合,因此,在此处应用某些模式,您可以使用Command(http://en.wikipedia.org/wiki/Command_pattern)和Composite(http://en.wikipedia.org/wiki/Composite_pattern)。让它们协同工作,使用和维护它会更直接,而不是一个神秘且容易出错的“childTag矢量”。