Animações utilizando Timer - J2ME

Aprenda nesta dica a fazer pequenas animações.

Animações utilizando Timer

A classe Timer agenda tarefas para execuções futures. As tarefas podem ser agendadas para executar uma vez, ou repetidas vezes em regulares intervalos de tempo.

<B><SPAN lang=EN-US >import </SPAN></B><SPAN lang=EN-US >java.util.*;</SPAN>
<B><SPAN lang=EN-US >import </SPAN></B><SPAN lang=EN-US >javax.microedition.midlet.*;</SPAN>
<B><SPAN lang=EN-US >import </SPAN></B><SPAN lang=EN-US >javax.microedition.lcdui.*;</SPAN>

<B><SPAN lang=EN-US >public class </SPAN></B><SPAN lang=EN-US >TimerMidlet </SPAN><B><SPAN lang=EN-US >extends </SPAN></B><SPAN lang=EN-US >MIDlet </SPAN><B><SPAN lang=EN-US >implements </SPAN></B><SPAN lang=EN-US >CommandListener</SPAN>
<SPAN lang=EN-US >{</SPAN>
<SPAN lang=EN-US >  </SPAN><B><SPAN lang=EN-US >private </SPAN></B><SPAN lang=EN-US >Display display; </SPAN>
<SPAN lang=EN-US >  </SPAN><B><SPAN lang=EN-US >private </SPAN></B><SPAN lang=EN-US >Form form;       </SPAN>
<SPAN lang=EN-US >  </SPAN><B><SPAN lang=EN-US >private </SPAN></B><SPAN lang=EN-US >Command exit;    </SPAN>
<SPAN lang=EN-US >  </SPAN><B><SPAN lang=EN-US >private </SPAN></B><SPAN lang=EN-US >Command stop;    </SPAN>
<SPAN lang=EN-US >  </SPAN><B><SPAN lang=EN-US >private </SPAN></B><SPAN lang=EN-US >Timer timer;     </SPAN>
<SPAN lang=EN-US >  </SPAN><B><SPAN lang=EN-US >private </SPAN></B><SPAN lang=EN-US >RunTimerTask tt; </SPAN>
<SPAN lang=EN-US >  </SPAN><B><SPAN lang=EN-US >private int </SPAN></B><SPAN lang=EN-US >count = </SPAN><SPAN lang=EN-US >0</SPAN><SPAN lang=EN-US >;   </SPAN>

<SPAN lang=EN-US >  </SPAN><B><SPAN lang=EN-US >public </SPAN></B><SPAN lang=EN-US >timerMidlet()</SPAN>
<SPAN lang=EN-US >  </SPAN><SPAN lang=EN-US >{</SPAN>
<SPAN lang=EN-US >form = </SPAN><B><SPAN lang=EN-US >new </SPAN></B><SPAN lang=EN-US >Form(</SPAN><SPAN lang=EN-US >"Timer"</SPAN><SPAN lang=EN-US >);</SPAN>
<SPAN lang=EN-US >exit = </SPAN><B><SPAN lang=EN-US >new </SPAN></B><SPAN lang=EN-US >Command(</SPAN><SPAN lang=EN-US >"Sair"</SPAN><SPAN lang=EN-US >, Command.EXIT, </SPAN><SPAN lang=EN-US >1</SPAN><SPAN lang=EN-US >);</SPAN>
<SPAN lang=EN-US >stop= </SPAN><B><SPAN lang=EN-US >new </SPAN></B><SPAN lang=EN-US >Command(</SPAN><SPAN lang=EN-US >"Parar"</SPAN><SPAN lang=EN-US >, Command.STOP, </SPAN><SPAN lang=EN-US >2</SPAN><SPAN lang=EN-US >);</SPAN>
<SPAN lang=EN-US >  </SPAN><SPAN lang=EN-US >}    </SPAN>

<SPAN lang=EN-US >  </SPAN><B><SPAN lang=EN-US >public void </SPAN></B><SPAN lang=EN-US >startApp ()</SPAN>
<SPAN lang=EN-US >  </SPAN><SPAN lang=EN-US >{</SPAN>
<SPAN lang=EN-US >display = Display.getDisplay(</SPAN><B><SPAN lang=EN-US >this</SPAN></B><SPAN lang=EN-US >);</SPAN>
<SPAN lang=EN-US >form.addCommand(exit);</SPAN>
<SPAN lang=EN-US >form.addCommand(stop);</SPAN>
<SPAN lang=EN-US >form.setCommandListener(</SPAN><B><SPAN lang=EN-US >this</SPAN></B><SPAN lang=EN-US >);</SPAN>

<SPAN lang=EN-US >// Repetindo a cada 3 segundos</SPAN>
<SPAN lang=EN-US >timer = </SPAN><B><SPAN lang=EN-US >new </SPAN></B><SPAN lang=EN-US >Timer();</SPAN>
<SPAN lang=EN-US >tt = </SPAN><B><SPAN lang=EN-US >new </SPAN></B><SPAN lang=EN-US >RunTimerTask();</SPAN>
<SPAN lang=EN-US >timer.schedule(tt,</SPAN><SPAN lang=EN-US >0</SPAN><SPAN lang=EN-US >, </SPAN><SPAN lang=EN-US >3000</SPAN><SPAN lang=EN-US >);    </SPAN>
<SPAN lang=EN-US >display.setCurrent(form);</SPAN>
<SPAN lang=EN-US >  </SPAN><SPAN lang=EN-US >}</SPAN>

<SPAN lang=EN-US >  </SPAN><B><SPAN lang=EN-US >public void </SPAN></B><SPAN lang=EN-US >destroyApp (</SPAN><B><SPAN lang=EN-US >boolean </SPAN></B><SPAN lang=EN-US >unconditional){}</SPAN>

<SPAN lang=EN-US >  </SPAN><B><SPAN lang=EN-US >public void </SPAN></B><SPAN lang=EN-US >pauseApp ()  { }</SPAN>

<SPAN lang=EN-US >  </SPAN><B><SPAN lang=EN-US >public void </SPAN></B><SPAN lang=EN-US >commandAction(Command c, Displayable d)</SPAN>
<SPAN lang=EN-US >  </SPAN><SPAN lang=EN-US >{</SPAN>
<B><SPAN lang=EN-US >if </SPAN></B><SPAN lang=EN-US >(c == stop)</SPAN>
<SPAN lang=EN-US >{</SPAN>
<SPAN lang=EN-US >timer.cancel();</SPAN>
<SPAN lang=EN-US >}</SPAN>
<B><SPAN lang=EN-US >else if </SPAN></B><SPAN lang=EN-US >(c == exit)</SPAN>
<SPAN lang=EN-US >{</SPAN>
<SPAN lang=EN-US >destroyApp(</SPAN><B><SPAN lang=EN-US >false</SPAN></B><SPAN lang=EN-US >);</SPAN>
<SPAN lang=EN-US >notifyDestroyed();</SPAN>
<SPAN lang=EN-US >}</SPAN>
<SPAN lang=EN-US >  </SPAN><SPAN lang=EN-US >}</SPAN>

<SPAN lang=EN-US >  </SPAN><SPAN lang=EN-US >/*--------------------------------------------------</SPAN>
<SPAN lang=EN-US >  </SPAN><SPAN lang=EN-US >* Classe RunTimerTask – Executando a tarefa</SPAN>
<SPAN lang=EN-US >  </SPAN><SPAN lang=EN-US >*-------------------------------------------------*/  </SPAN>
<SPAN lang=EN-US >  </SPAN><B><SPAN lang=EN-US >private class </SPAN></B><SPAN lang=EN-US >RunTimerTask </SPAN><B><SPAN lang=EN-US >extends </SPAN></B><SPAN lang=EN-US >TimerTask</SPAN>
<SPAN lang=EN-US >  </SPAN><SPAN lang=EN-US >{</SPAN>
<B><SPAN lang=EN-US >public final void </SPAN></B><SPAN lang=EN-US >run()</SPAN>
<SPAN lang=EN-US >{</SPAN>
<SPAN lang=EN-US >form.append(</SPAN><SPAN lang=EN-US >"contador: " </SPAN><SPAN lang=EN-US >+ ++count + </SPAN><SPAN lang=EN-US >"\n"</SPAN><SPAN lang=EN-US >);</SPAN>
<SPAN lang=EN-US >}</SPAN>
<SPAN lang=EN-US >  </SPAN><SPAN lang=EN-US >}</SPAN>
<SPAN lang=EN-US >}</SPAN>

Artigos relacionados