06 de agosto de 2005. - 19:56:46
Bom, depois de muito tempo sem postar nada aqui no meu blog...
Na última madrugada, enquanto auxiliava um amigo a criar um menu utlizando J2ME, resolvi fazer esse pequeno tutorial, onde vou procurar mostrar como fazer um menu simples no J2ME.
A primeira coisa que devemos fazer antes de começar-mo 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 quartro 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.
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:
Abaixo tem os links para o download do código completo e do executavel .jar.
Menu.jad Menu.jar Menu.zip
Bom, espero que esse meu mini tutorial, possa ajudar a turma que, assim como eu, está começando com o J2ME.
Maurílio Silva
TK2000