WirelessBR

WirelessBr é um site brasileiro, independente, sem vínculos com empresas ou organizações, sem finalidade  comercial,  feito por voluntários, para divulgação de tecnologia em telecomunicações 

Tutorial de programação J2ME 
Parte 4 - Pág. 2  
Plataforma Java 2 Micro Edição (J2ME)

Autor: Rodrigo P. Garcia Corbera 

Como rodar o programa usando o Wireless Toolkit?

Conforme descrito no tutorial anterior, devemos criar um projeto e copiar o código no diretório "Src". Serão criados três arquivos com extensão ".java". Novamente é fundamental tomar atenção quanto às maiúsculas e minúsculas no nome de cada arquivo pois o JAVA as distingue com sendo diferentes.
Abaixo segue o código fonte de cada qual com comentários que ajudam a entender o que foi feito.

(Nesta página estão os códigos BouncingTextMIDlet.java e TextInputScreen.java. Na página seguinte está o código para BouncingTextCanvas.java.)


BouncingTextMIDlet.java

import javax.microedition.midlet.*;  
import javax.microedition.lcdui.*; 

// Classe principal do Midlet  

public class BouncingTextMIDlet extends MIDlet {

// Objeto que contem o texto a ser animado,  
// o qual pode ser mudado no início da execução da aplicação

       private final TextInputScreen textInputScreen;

// Objeto que contem o controle gráfico da animação
// É iniciado com null para saber que é a primeira vez que é executado

       private BouncingTextCanvas bouncingTextCanvas = null;  

// construtor da classe

       public BouncingTextMIDlet() {

// Cria uma caixa de edição de texto que permitirá modificá-lo no
// início da execução da aplicação. Esse será o texto a ser animado.

              textInputScreen = new TextInputScreen(this, "Hello J2ME");  
       }  

// Método executado no início da execução da aplicação ou na volta de uma pausa

       public void startApp() {  
              Displayable current = Display.getDisplay(this).getCurrent();

// verificamos se estamos voltando de uma pausa ou se estamos iniciando a aplicação

              if (current == null) {

// caso a variável current seja null estamos na primeira execução da aplicação  
// neste caso ativamos o foco para a edição inicial do texto a ser animado

                    Display.getDisplay(this).setCurrent(textInputScreen);  
              } else {

// caso seja a volta de uma pausa, ativamos o foco para o último objeto de onde  
// a aplicação foi interrompida, seja qual for esse objeto.

                    Display.getDisplay(this).setCurrent(current);

// Em particular caso seja a tela da animação, inicia uma nova a animação...

                    if (current == bouncingTextCanvas) {  
                           bouncingTextCanvas.startAnimation();  
                    }  
              }  
       }  

// Método executado quando a aplicação sofre uma pausa

       public void pauseApp() {

// Caso estávamos animando o texto, solicitamos a parada do mesmo

              if (bouncingTextCanvas != null) {  
                    bouncingTextCanvas.stopAnimation();  
              }  
       }  

// Método executado quando a aplicação é terminada

       public void destroyApp(boolean b) {

// Caso estávamos animando o texto, solicitamos a parada do mesmo

              if (bouncingTextCanvas != null) {  
                    bouncingTextCanvas.stopAnimation();  
              }  
       }  

// Método conveniente para ser executado quando solicitado que se
// termine a execução do aplicativo

       void exitRequested() {  
              destroyApp(false);  
              notifyDestroyed();  
       }  

// Método evocado ao final da execução da tela de edição de texto  
// associada ao objeto textInputScreen

       void textInputScreenDone(String str) {

// Cria e inicia a animação.

              bouncingTextCanvas =
                    new BouncingTextCanvas(this, Display.getDisplay(this), str);  
              bouncingTextCanvas.startAnimation();

// Muda o foco para mostrar na tela a animação.  

              Display.getDisplay(this).setCurrent(bouncingTextCanvas);  
       }  
}


TextInputScreen.java 

import javax.microedition.lcdui.*;  

// Objeto que contem o texto a ser animado e cria uma tela para sua edição

public class TextInputScreen extends TextBox implements CommandListener {  

// O objeto mantém uma referência ao objeto pai (seu criador)

       private final BouncingTextMIDlet midlet;  
       private final Command exitCommand;  
       private final Command startCommand;  

// Método construtor ...

       TextInputScreen(BouncingTextMIDlet midlet, String string) {

// executa o construtor da super classe (TextBox)

              super("Texto: ", string, 256, TextField.ANY);

// guarda a referência ao objeto Pai

              this.midlet = midlet;

// Cria os comandos de softkey mostrados na parte inferior da tela

              exitCommand = new Command("Sair", Command.EXIT, 1);  
              addCommand(exitCommand);  
              startCommand = new Command("Iniciar", Command.SCREEN, 1);  
              addCommand(startCommand);

// Coloca o objeto na lista de objetos que podem receber entrada
// isto é, podem interagir com o usuário via teclado, por exemplo

              setCommandListener(this);  
       }      

// método executado quando acionada alguma softkey

       public void commandAction(Command c, Displayable d) 
              if (c == exitCommand) {

// caso seja acionado o "sair" solicita a saída imediata da aplicação

                    midlet.exitRequested();  
              } else if (c == startCommand) {

// caso seja acionado o "iniciar" solicita o início da animação

                    midlet.textInputScreenDone(getString());  
              }  
       }  
}

Na próxima página é encontrado o código para BouncingTextCanvas.java

 

Anterior              Home WirelessBR              Próxima