Хороший способ поддерживать список меню выбора на нескольких уровнях в J2ME

StackOverflow https://stackoverflow.com/questions/2541886

  •  23-09-2019
  •  | 
  •  

Вопрос

Мне нужен хороший способ поддерживать данные на уровне нескольких форм для выбора меню.Так, например, если у меня есть A и B, у каждого может быть 1 2 3 итак A A1 A2 A3 B B1 B2 B3

И это может продолжаться долго, так что у меня могло бы быть A -> A1 -> A1.1 -> A1.1.1 -....У меня есть следующий класс, работает нормально, но я подозреваю, что у нас могло бы быть лучше.

Мне просто нужно выполнить выбор в виде дерева выбора, подобного виджету, но каждый уровень выбора представлен в другой форме (в 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, 2, 3 и A, B, C как о командах, а о комбинациях - так, как вы их составляете, поэтому, применяя некоторые шаблоны здесь, вы можете использовать Command ( http://en.wikipedia.org/wiki/Command_pattern ) и Композитный ( http://en.wikipedia.org/wiki/Composite_pattern ).Заставьте их работать вместе, и использовать и поддерживать его будет намного проще, чем таинственный и подверженный ошибкам "вектор дочерних тегов".

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top