No post sobre LWUIT de hoje vamos aprender como por um tema na nossa aplicação e criar um form e um list.
Lembre-se de adicionar o
JAR do LWUIT no seu projeto.
Veja os outros 2 posts anteriores de
LWUIT (
LWUIT - Introdução e
HelloWorld com LWUIT).
Para iniciar precisamos de um tema. Este tema é um arquivo
.res, que pode ser criado pelo próprio desenvolvedor, através da ferramenta
Resource Edit ou baixado na internet. O tema que utilizaremos na aplicação pode ser baixado
aqui. Insira ele na pasta src do seu projeto.
O
código para carregar o tema é o seguinte:
try {
Resources r = Resources.open("/javaTheme.res");
UIManager.getInstance().setThemeProps(r.getTheme(r.getThemeResourceNames()[0]));
} catch (IOException ioe) {
System.out.println("O tema não pode ser carregado.");
}
Para criarmos um form é semelhante ao utilizando em LCDUI, porém cuidado na hora de importar a biblioteca para não importar a javax.microedition.lcdui.Form e sim a
com.sun.lwuit.Form (Isto também vale para comandos, list, entre outros que for utilizar). Depois mostramos o form com o método
show().
Form form = new Form("Título do Form");
form.show();
Vamos criar um comando sair e um comando listar
Command sair = new Command("Sair");
Command listar = new Command("Listar");
Agora adicionamos os comandos ao form e informamos que o form possui um ou mais eventos, para isto seu
MIDlet deve implementar a classe ActionListener
form.addCommand(sair);
form.addCommand(listar);
form.setCommandListener(this);
A aplicação deve conter um método actionPerformed(ActionEvent ae) para implementar o que deve ser feito quando os eventos forem disparados. Para o comando sair destruímos a aplicação e o comando listar chamará um list. Portanto devemos criar um list e informar seus elementos.
public void actionPerformed(ActionEvent ae) {
if(ae.getSource() == sair){
notifyDestroyed();
}
if(ae.getSource() == listar){
}
}
No
LWUIT um list é construído dentro de um form. O código abaixo mostra como criar um list, inserir elementos nele e depois adicioná-lo a um form.
list = new List();
list.addItem("Um");
list.addItem("Dois");
list.addItem("Tres");
list.addItem("Quatro");
form.addComponent(list);
form.show();
O código completo da aplicação fica o seguinte:
import com.sun.lwuit.Command;
import com.sun.lwuit.Display;
import com.sun.lwuit.Form;
import com.sun.lwuit.List;
import com.sun.lwuit.events.*;
import com.sun.lwuit.plaf.UIManager;
import com.sun.lwuit.util.Resources;
import java.io.IOException;
import javax.microedition.midlet.*;
public class MidletListar extends MIDlet implements ActionListener{
Form form;
Command sair, listar;
List list;
public void startApp() {
Display.init(this);
// TEMA
try {
Resources r = Resources.open("/javaTheme.res");
IManager.getInstance().setThemeProps(r.getTheme(r.getThemeResourceNames()[0]));
} catch (IOException ioe) {
System.out.println("O tema não pode ser carregado.");
}
form = new Form("LWUIT");
form.show();
// COMANDOS
sair = new Command("Sair");
listar = new Command("Listar");
form.addCommand(sair);
form.addCommand(listar);
form.setCommandListener(this);
}
public void pauseApp() {
}
public void destroyApp(boolean unconditional) {
}
public void actionPerformed(ActionEvent ae) {
if(ae.getSource() == sair){
notifyDestroyed();
}
if(ae.getSource() == listar){
// CRIANDO UM LIST
list = new List();
list.addItem("Um");
list.addItem("Dois");
list.addItem("Tres");
list.addItem("Quatro");
form.addComponent(list);
form.show();
}
}
}
O resultado da aplicação é mostrado nas figuras abaixo. Para baixar o projeto completo feito no NetBeans clique
aqui.