Problemas na criação de menus

7 respostas
P

Pessoal,
Estou começando a mexer com o J2ME, embora já programe em C e C++, e to com um problema: Eu criei uma Lista de Opções e uma SubLista, q seria uma outra lista de opções para cada opção desta primeira lista… mas nao consigo acessá-la… será q vcs poderiam me dar uma luz sobre como manusear Listas e Sublistas???

7 Respostas

P

Se você tem uma lista com 4 opções, então terá ao todo 5 objetos List.

Dependendo do item selecionado no List, você deverá dar um setcurrent em um deles.

P

E como eu faço para acessar um item de uma sublista? Vc poderia me dar só um exemplo para eu ter uma base???

P

O que vc precisa está abaixo.
Para cada opção da lista, existe um case associado.
Coloque no case o que vc deseja executar.
Como dica, procure manter ele pequeno, fazendo chamada a outras rotinas, ao invés de colocar um código colossal nele.
Isto irá facilitar futuras expansões e melhora a legibilidade do código.

public void commandAction ( Command c, Displayable d ) {
        if ( c == cmdSair ) {
           ...
           return;
        }

        // Foi selecionada alguma opção da lista ?
        if ( c == List.SELECT_COMMAND ) {
            switch ( this.getSelectedIndex (  ) ) {
                  case ( 0 ) :
                        ....
                        break;
                  case ( 1 ) :
            }
        }
   }
P

boone,
eu agradeço demais pela sua atenção, mas até aí eu consegui fazer… a minha dúvida é a seguinte, se eu posso fazer uma outra lista dentro de cada “case”… pq eu tentei e naum consegui acessá-las…

P

Poste seu código.

Fica mais fácil identificar “a arte” que você anda aprontando para ele não funcionar !

P

Consegui! O q eu queria era simplesmente fazer uma lista dentro de outra lista… eu procurei em várias apostilas e deu certo! Vou postar o código aqui para ajudar mais alguém q tiver dúvida neste ponto…

// Menu principal
this.MenuPrincipal = new List("Menu Principal", Choice.IMPLICIT, menuElementos, null);
this.menu.addCommand(this.Sair);
this.menu.setCommandListener(this);

//Opção do menu Principal (SubMenu)
this.SubMenu = new List("SubMenu", Choice.IMPLICIT, submenuElementos, null);
this.SubMenu.addCommand(this.Sair);
this.SubMenu.addCommand(this.Prox);

public void commandAction(Command c, Displayable d)
{
    //Verifica qual item da lista do menu principal foi selecionado
    if (c == List.SELECT_COMMAND && d == this.menu)
    {
        //Apresenta lista de Opções do menu principal
        switch (this.menu.getSelectedIndex())
        {
            case 0:
                  //Opção 1 (q contém o SubMenu)...
            break;
            case 1:
                //Opção 2...
            break;
        }
    }

    //Opção 1 escolhida
    if (c == this.Prox)
    {
        //Seleciona ação em outra lista dentro da Opção 1
        switch(this.opção1.getSelectedIndex())
        {
            case 0:
                //Opção 1.1 ...
            break;
            case 1:
                //Opção 1.2 ...
            break;
                    // ...
        }
    }
}
P

:smiley: Eu gostaria de agradecer a atenção q eu tenho recebido aqui… muito obrigada! Eu entrei em outros foruns, mas ngm respondia tópico de ninguém… é uma grande falta de consideração com quem está procurando alguma ajuda! Muito obrigada mesmo pela atenção e pela consideração não só por mim, mas por todos q tentam solucionar suas dúvidas aqui neste fórum!

Criado 18 de abril de 2004
Ultima resposta 19 de abr. de 2004
Respostas 7
Participantes 2