2010-03-29 1 views
0

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

И это может продолжаться долго, так что я может иметь 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; 
     } 


} 
+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».

Смежные вопросы