Хороший способ сохранить список меню выбора уровня Muliple в J2ME - PullRequest
0 голосов
/ 30 марта 2010

Мне нужен хороший способ поддерживать несколько данных уровня формы для выбора меню. Так, например, если у меня есть А и В, каждый может иметь 1 2 3 так A1 A2 A3 В B1 Би 2 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 голосов
/ 04 мая 2010

Вы можете использовать некоторые классы для представления ваших команд меню. Думайте о 1 2 3 и A B C как о командах и комбинациях так, как вы их составляете, поэтому, применяя здесь некоторые шаблоны, вы можете использовать Command (http://en.wikipedia.org/wiki/Command_pattern) и Composite (http://en.wikipedia.org/wiki/Composite_pattern). Сделайте так, чтобы они работали вместе, и было бы гораздо проще использовать и поддерживать его, а не таинственный и подверженный ошибкам «вектор ChildTag».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...