HelloWorld com LWUIT

05 agosto 2009

Continuando a série de posts sobre LWUIT vamos hoje fazer um "HelloWorld", para iniciar a familiarização com os códigos do LWUIT.

Veja o post anterior, LWUIT - Introdução.

Ao longo dos posts iremos introduzindo novos conceitos de LWUIT, como temas, botões, animações, entre outros.

HelloWorld ou HelloLwuit

1) Faça o download do LWUIT aqui.
2) Iremos utilizar o NetBeans 6.7.1. Crie um projeto Java ME e desmarque a opção de criar um MIDlet Olá. Pois o LWUIT não utiliza o editor visual da IDE. Seus códigos são feitos todos a mão.
3) Selecione CLDC 1.1, pois o LWUIT não roda no 1.0 e quanto ao MIDP selecione 2.0 ou 2.1.
4) Com o projeto pronto crie um MIDlet não visual e cole o código abaixo. Ele apresentará vários erros pois ainda não foi colocado o JAR do LWUIT no projeto.


import javax.microedition.midlet.*;
import com.sun.lwuit.*;
import com.sun.lwuit.events.*;

public class HelloLWUITMidlet extends MIDlet implements ActionListener {
public void startApp() {
Display.init(this);

Form f = new Form("Hello, LWUIT!");
f.show();

Command exitCommand = new Command("Sair");
f.addCommand(exitCommand);
f.setCommandListener(this);
}

public void pauseApp() {}

public void destroyApp(boolean unconditional) {}

public void actionPerformed(ActionEvent ae) {
notifyDestroyed();
}
}
5) Insira o JAR do LWUIT nos recursos do projeto.
6) Pronto é só executar!

Obs: Não esqueça que para rodar projetos com LWUIT é necessário ter emuladores compatíveis, como é o caso do novo Java Platform ME SDK 3.0: O sucessor do Wireless Toolkit ou do Sprint.

O código do LWUIT é próprio, portanto não usamos os códigos convencionais utilizados para construir interfaces com LCDUI.

Analisando o código...

No método StartApp() temos:
Display.init(this);

Este método é utilizado para inicializar o LWUIT passando a própria MIDlet como parâmetro.
Form f = new Form("Hello, LWUIT!");
f.show();

As linhas a cima cria um form com título “Hello, LWUIT!” e o mostra.
Command exitCommand = new Command("Sair");
f.addCommand(exitCommand);
f.setCommandListener(this);

Cria o comando sair, o adiciona ao form e informa que ele terá um evento.

No método actionPerformed(ActionEvent ae) temos os eventos que devem serem realizados quando os comandos forem pressionados. Como só temos um comando não temos condições para especificar o que fazer para cada evento disparado. Portanto quando o comando Sair for pressionado o evento a baixo é chamado. Ele notifica ao gerenciador de aplicativos que a MIDlet será destruída.
public void actionPerformed(ActionEvent ae) {
notifyDestroyed();
}

No próximo post chegaremos ao que realmente interessa: veremos como utilizar temas, dando um visual muito mais atraente as aplicações, e como criar componentes e adicioná-los ao form.

0 comentários:

Postar um comentário