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 LWUIT
Utilizando tema em LWUIT
Para 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 -> Label
Label label = new Label("Texto");
Inserir uma imagem na tela -> Image + Label
Image imagem = Image.createImage("imagem.png");
Label ImagemLabel = new Label(imagem);
Inserir uma imagem com um texto em baixo: Image + Label
Image 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 imagem
Inserir um botão com um texto: Button
Button button = new Button("Botao");
Inserir um botão com imagem: Button + Image
Image imagem = Image.createImage("imagem.png");
Button ImagemButton = new Button(imagem);
Inserir um campo de texto editável: TextField
TextFiel tfNome = new TextField(15);
//o argumento é a quantidade de colunas
Inserir uma lista de escolhas recolhível: 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";
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:
1 comentários:
Olá será que vocês podem dar um exemplo com tabbetpane?
Estou querendo adicionar varios checkbox em um tabbetpane e não tenho noção de como fazer!
o Manual do LWUIT axo q é feito para usuarios avançados e eu comecei apenas a uns dias com j2me!
Valeu pelos ótimos tópicos!
Abraços.
Postar um comentário