Namespaces

Variants
Actions

Please note that as of October 24, 2014, the Nokia Developer Wiki will no longer be accepting user contributions, including new entries, edits and comments, as we begin transitioning to our new home, in the Windows Phone Development Wiki. We plan to move over the majority of the existing entries over the next few weeks. Thanks for all your past and future contributions.

Lista com Imagens em Java ME

From Wiki
Jump to: navigation, search

Este artigo explica como desenvolver uma lista com imagens em J2ME. Quando o usuário clica na imagem de cada item, é exibida uma tela com detalhamento de informações.

Article Metadata

Exemplo de código
Código fonte: File:TemplateLista.zip

Compatibilidade
Plataforma(s):
Series 40

Artigo
Criado por awdrenfontao em 23 May 2012
Última alteração feita por lpvalente em 14 Feb 2014

Introdução

A você desenvolvedor que deseja implementar apps que se baseiam em lista com imagens e detalhamento destas imagens (em tamanho maior) e com descrição o código abaixo ajuda bastante. O código se encontra documentado. E neste post você pode baixar o template para produzir sua app.

Código

import java.io.IOException;
import javax.microedition.lcdui.*;
import javax.microedition.midlet.*;
/*
* Template para criação de apps com listagem de elementos e uma tela para
* detalhamento da imagem e informações.
*/

public class ListaMidlet extends MIDlet implements CommandListener{
private Display display;
private List list;
private Command exit, select, back;
private Image img1,img2,img3,img4,img5, img6;
String[] stringElements = {"Batman", "Carro", "Guitarra", "Maça","Sapo", "Simpsons"};
Image[] images;
 
//Método para criar, carregar para a memória as imagens que serão
//utilizadas durante a app.
public ListaMidlet(){
try{
img1 = Image.createImage("/batman.gif");
img2 = Image.createImage("/carro.png");
img3 = Image.createImage("/guitarra.jpg");
img4 = Image.createImage("/maca.jpg");
img5 = Image.createImage("/sapo.jpg");
img6 = Image.createImage("/simpsons.gif");
}catch(Exception e){
System.err.println(e.getMessage());
}
}
 
public void startApp() {
display = Display.getDisplay(this);
Image[] imageElements = {img1,img2,img3,img4,img5,img6};
images = imageElements;
 
//A lista é criada passando o vetor com as images e o vetor com
//o detalhamento das descrições de cada imagem
//Cada posição tanto do vetor de imagens quanto do de string
//batem como informação dos elementos.
//Exempo:
// imageElements[0] devolve a imagem do batman
// stringElements[0] devolve a descrição da imagem: Batman
list = new List("List + Image", List.IMPLICIT, stringElements, imageElements);
 
//Adicionando dois comandos: o primeiro para selecionar um elemento
//E o segundo para sair da App
select = new Command("Select", Command.SCREEN, 0);
exit = new Command("Exit", Command.EXIT, 0);
list.addCommand(select);
list.addCommand(exit);
 
//Configurando o listener para que os eventos de clique possam
//ser escutados
list.setCommandListener(this);
 
//Com essa linha faço com que meu display, minha tela exiba
//a lista.
display.setCurrent(list);
}
 
public void pauseApp() {}
 
public void destroyApp(boolean unconditional){
notifyDestroyed();
}
 
//Neste método tratamos os eventos com elementos da tela
public void commandAction(Command c, Displayable s){
// Em index recupero o index do item selecionado na lista
int index = list.getSelectedIndex();
 
//Se for clicado o botão select ou o usuário tiver clicado
//diretamente em um elemento na lista
if (c == select || c == List.SELECT_COMMAND) {
//Irei exibir a tela de detalhamento das informações
//Veja o método showDetailsImage aqui neste arquivo.
Display.getDisplay(this).setCurrent(showDetailsImage(list.getString(index),images[index] ));
} else if(c == exit){
destroyApp(true);
} else if(c == back){
//Se tiver selecionado botão voltar
//configuramos o display para exibir novamente a losta
Display.getDisplay(this).setCurrent(list);
}
}
/*
* Método que retorna uma Screen, uma tela
* Recebe dois parâmetros
* @param String text Texto descritivo da Imagem ou elemento da lista
* @param Image img Imagem do elemento selecionado na lista em tamanho maior
*/

public Screen showDetailsImage(String text, Image img){
Form detailImage = new Form("Detalhes");
 
ImageItem imgItem = new ImageItem("Imagem", img,ImageItem.LAYOUT_CENTER | ImageItem.LAYOUT_TOP, text);
detailImage.append(imgItem);
 
StringItem description = new StringItem("Descrição:", text);
detailImage.append(description);
 
back = new Command("Voltar", Command.SCREEN, 1);
detailImage.addCommand(back);
 
detailImage.setCommandListener(this);
 
return detailImage;
}
}
This page was last modified on 14 February 2014, at 20:22.
217 page views in the last 30 days.

Was this page helpful?

Your feedback about this content is important. Let us know what you think.

 

Thank you!

We appreciate your feedback.

×