Bonne façon de maintenir la liste des menus de sélection de plusieurs niveaux dans J2ME

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

  •  23-09-2019
  •  | 
  •  

Question

J'ai besoin d'un bon moyen de conserver les données de niveau de forme multiples pour la sélection de menu. Ainsi, par exemple, si je A et B, chacun, peuvent avoir 1 2 3 alors UNE  A1  A2  A3 B  B1  B2  B3

Et cela peut continuer longtemps, pour que je puisse avoir un -> A1 -> A1.1 -> A1.1.1 -.... J'ai la classe suivante en place, fonctionne bien mais je pense que nous aurions pu mieux.

Je dois juste effectuer une sélection ni un arbre de sélection comme widget, mais chaque niveau de sélection se décline en une autre forme (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;
        }


}

Pas de solution correcte

Autres conseils

Vous pouvez utiliser certaines classes pour représenter vos commandes de menu. Pensez à 1 2 3 et ABC sous forme de commandes et les combinaisons la façon dont vous les composent, donc, en appliquant quelques modèles ici, vous pouvez utiliser la commande ( http://en.wikipedia.org/wiki/Command_pattern ) et composite ( http://en.wikipedia.org/wiki/Composite_pattern ). Faites-les travailler ensemble et ce sera beaucoup plus facile à utiliser et à entretenir, au lieu d'une mystérieuse et sujette aux erreurs « vecteur childTag ».

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top