Olá no post de LWUIT de hoje vamos demostrar a utilização de alguns componentes, como Label, ComboBox, Button, Image.
Para detalhes iniciais veja os posts anteriores sobre LWUIT.
HelloWorld com LWUITUtilizando tema em LWUITPara criar os componentes que iremos demostrar é necessário antes criar um projeto, adicionar o
jar do LWUIT nos recursos do projeto e criar um form para colocar os componentes. Para melhor visualizar seria legal também carregar um tema. (Isto tudo é ensinado nos 2 posts referenciados acima)
Veja como criar os componentes:
Inserir um texto na tela -> LabelLabel label = new Label("Texto");Inserir uma imagem na tela -> Image + LabelImage imagem = Image.createImage("imagem.png");
Label ImagemLabel = new Label(imagem);Inserir uma imagem com um texto em baixo: Image + LabelImage imagem = Image.createImage("imagem.png");
Label textoBaixo = new Label(imagem);
textBaixo.setText("Texto");
textBaixo.setTextPosition(Component.BOTTOM);
//seta a posição que o texto estará em relação a imagemInserir um botão com um texto: ButtonButton button = new Button("Botao");Inserir um botão com imagem: Button + ImageImage imagem = Image.createImage("imagem.png");
Button ImagemButton = new Button(imagem);Inserir um campo de texto editável: TextFieldTextFiel tfNome = new TextField(15);
//o argumento é a quantidade de colunas
Inserir uma lista de escolhas recolhível: ComboBoxString[] dias = new String[7];
dias[0] = "Domingo";
dias[1] = "Segunda";
dias[2] = "Terca";
dias[3] = "Quarta";
dias[4] = "Quinta";
dias[5] = "Sexta";
dias[6] = "Sabado";
ComboBox cbDia = new ComboBox(dias);
Para adicionar qualquer um dos componentes criados faça o seguinte
nomeDoForm.addComponent(nomeDoComponente);
Abaixo está listado um código completo de uma aplicação que possui um tema, um form com todos estes componentes e um comando de sair.
import com.sun.lwuit.Button;
import com.sun.lwuit.ComboBox;
import com.sun.lwuit.Command;
import com.sun.lwuit.Component;
import com.sun.lwuit.Display;
import com.sun.lwuit.Form;
import com.sun.lwuit.Image;
import com.sun.lwuit.Label;
import com.sun.lwuit.TextField;
import com.sun.lwuit.events.ActionEvent;
import com.sun.lwuit.events.ActionListener;
import com.sun.lwuit.plaf.UIManager;
import com.sun.lwuit.util.Resources;
import java.io.IOException;
import javax.microedition.midlet.*;
public class MidletDesenhando extends MIDlet implements ActionListener{
Form f;
Image image, imagem;
Label label, pictureLabel, lNome;
Button button;
Command exitCommand;
Button pictureButton;
TextField tfNome;
ComboBox cbDia;
public void startApp() {
Display.init(this);
// TEMA
try {
Resources r = Resources.open("/imagens/javaTheme.res");
UIManager.getInstance().setThemeProps(r.getTheme(r.getThemeResourceNames()[0]));
} catch (IOException ioe) {
System.out.println("Não foi possível carregar o tema.");
}
//cria um form
f = new Form("Testando Componentes");
//comando sair
exitCommand = new Command("Sair");
f.addCommand(exitCommand);
f.setCommandListener(this);
// TEXTO
label = new Label("Texto");
f.addComponent(label);
try {
// IMAGEM
image = Image.createImage("/imagens/calculadora.png");
pictureLabel = new Label(image);
f.addComponent(pictureLabel);
// TEXTO EM BAIXO DA IMAGEM
Label textBaixo = new Label(image);
textBaixo.setText("Texto");
textBaixo.setTextPosition(Component.BOTTOM);
f.addComponent(textBaixo);
} catch (IOException ex) {
ex.printStackTrace();
}
// BOTÃO COM TEXTO
button = new Button("Botao");
f.addComponent(button);
try {
// BOTÃO COM IMAGEM
imagem = Image.createImage("/imagens/musica.png");
pictureButton = new Button(imagem);
f.addComponent(pictureButton);
pictureButton.addActionListener(this);
} catch (IOException ex) {
ex.printStackTrace();
}
//Label e textField
lNome = new Label("Nome:");
tfNome = new TextField(15);
f.addComponent(lNome);
f.addComponent(tfNome);
//ComboBox
String[] dias = new String[7];
dias[0] = "Domingo";
dias[1] = "Segunda";
dias[2] = "Terca";
dias[3] = "Quarta";
dias[4] = "Quinta";
dias[5] = "Sexta";
dias[6] = "Sabado";
cbDia = new ComboBox(dias);
f.addComponent(cbDia);
//mostra o form
f.show();
}
public void pauseApp() {
}
public void destroyApp(boolean unconditional) {
}
public void actionPerformed(ActionEvent e) {
if(e.getSource() == exitCommand){
notifyDestroyed(); //notifica a destruíção da aplicação ao gerenciador
destroyApp(true); //destroí a aplicação
}
}
}
Veja uma imagem do resultado da aplicação: