Join Now
Quality Rating:
  • Currently 0.0 / 5
(0.0 / 5 - 0 votes cast)
Expertise Level:
  • Currently 0.0 / 5
(0.0 / 5 - 0 votes cast)

This page was last modified 17:07, 24 October 2007.

Como criar um menu em Java ME

From Forum Nokia Wiki

A primeira coisa que devemos fazer antes de começar o nosso menu é definir o que ele vai ter, como por exemplo:

- menus principais
 - sub menus
 - etc

Para este exemplo eu definir que o meu menu teria dois menus principais:

- Menus principais
 - - START
 - - OPTIONS

E que o menu OPTIONS teria quatro itens:

- OPTIONS
 - - SOUND
 - - VIBRA
 - - AUTO FIRE
 - - DONE


E que fora o DONE, os demais teriam dois estados:

- ESTADOS do ITENS do sub menu OPTIONS
 - - ON
 - - OFF

Bom tendo em mãos o meu menu, o que ele vai conter, vamos para a programação...

A primeira coisa a fazer no nosso menu é definir as variáveis para seu controle e apresentação, primeiro definimos as variaveis de uso geral:

// para que eu saiba em qual tela estou
    protected byte TELA_ATUAL;
    
    // variavel para controle dos menus
    protected byte MENU_SELECIONADO;
    
    // variaveis que define o menu atual/tela atual
    protected final byte TELA_MENU = 0;
    protected final byte TELA_OPCOES = 1;

Agora definimos as variavéis do menu Principal:

// para dizer o que está selecionado no menu principal
    protected final byte START = 0;
    protected final byte OPTIONS = 1;

Vamos definir as variavéis do menu Options:

// para o sub menu options
    protected final byte SOUND = 1;
    protected final byte VIBRA = 2;
    protected final byte AUTOFIRE = 3;
    protected final byte DONE = 4;
    
    // poder controlar o estado de cada opcao
    protected boolean _sound;
    protected boolean _vibra;
    protected boolean _autoFire;

Precisamos inicializar algumas váriaveis no nosso construtor:

// inicializa as variaveis
        this._sound = true;
        this._vibra = true;
        this._autoFire = false;
        this.TELA_ATUAL = TELA_MENU;
        this.MENU_SELECIONADO = START;

Precisamos desenhar a tela de acordo com a variavel TELA_ATUAL:

protected void paint(Graphics g) {
        // verifica qual é a tela atual, para poder
        // chamar o metodo correto
        switch( TELA_ATUAL) {
            case TELA_MENU: mainMenu(g); break;
            case TELA_OPCOES: optionsMenu(g); break;
        }
    }

Quando o paint(), chamar o nosso mainMenu(), será exibida essa tela ao abaixo, cujo código está logo em seguida.

Image:Tut_menu_main.png

protected void mainMenu( Graphics g) {
        // limpa a tela com a cor branca
        g.setColor( 0xcccccc);
        g.fillRect( 0, 0, _width, _height);
        
        // define a cor do texto
        g.setColor( 0x000000);
        // desenha o texto
        g.drawString( "main menu", _width/2, 2, Graphics.TOP|Graphics.HCENTER);
        
        // verifica qual o menu selecionado para poder
        // desenhar o retangulo de selecao
        // define a cor do retangulo
        g.setColor( 0xffffff);
        switch( MENU_SELECIONADO) {
            case START: g.fillRect( 3, 19, _width-6, 14); break;
            case OPTIONS: g.fillRect( 3, 34, _width-6, 14); break;
        }
        
        g.setColor( 0x666666);
        g.drawString( "start", 5, 20, Graphics.TOP|Graphics.LEFT);
        g.drawString( "options", 5, 35, Graphics.TOP|Graphics.LEFT);
    }

Quando for chamando o metodo optionsMenu(), tela de opções, a tela exibida será essa a seguir:

Image:Tut_menu_options.png

Link para download do código completo: Media:Menu.zip

Bom, espero que esse mini tutorial, possa ajudar a turma, está começando com o Java ME.

Related Discussions
Thread Thread Starter Forum Replies Last Post
how to create the commands in j2me balaji2003 Mobile Java General 4 2003-07-25 05:50
Problemas al instalar raccoon en el emulador jmv_ Foro en Español (Spanish Forum) 11 2007-07-11 10:26
Menu Icon priority runvinde General Discussion 1 2005-07-14 12:18
CAknDialog and menu aek-nokia Symbian User Interface 9 2006-04-08 16:59
Programación de una aplicación JAVA para el Nokia 6610 blancavillamia Foro en Español (Spanish Forum) 1 2007-09-04 22:00
 
Powered by MediaWiki
     
     RDF Facets:
     
     
     qfnZtypeQUqfnTypeZCommunityContentQ
     qfnZtypeQUqfnTypeZWebpageQ
     qfnZtypeQUqfnTypeZWikiContentQ
     qmarsZlanguageQUxhttpE3aE2fE2fswE2enokiaE2ecomE2flanguageE2d1E2fenX