Problemas com Imagem em J2ME

Bom dia galera,
Estou desenvolvendo minha primeira aplicação para dispositivos móveis. Estou com problemas para carregar uma imagem (Estou usando o IDE NETBEANS), já dei uma pesquisada, tentei de todas as formas porém sem sucesso.
Se puderem me ajudar ficaria grato, a seguir segue o código, que por sinal não apresenta erros, mas sempre cai na excessão…

public void startApp() throws MIDletStateChangeException { System.out.println("Iniciou o programa!"); display= Display.getDisplay(this); frmCadastro= new Form("Primeira Aplicação"); display.setCurrent(frmCadastro); alert = new Alert("ERRO, ","imagem nao encontrada !!!",null,AlertType.INFO); try { img = Image.createImage("/foto.PNG"); ii_img = new ImageItem(null,img,ImageItem.LAYOUT_CENTER,null); frmCadastro.append(ii_img); }catch(IOException e) { display.setCurrent(alert); e.printStackTrace(); }

:lol:

Qual o erro que surge no console? a aplicação chega a rodar só que sem a imagem ou nem abre?

Já tive problemas com formats de imagens, mesmo sendo .png

Ele roda normal, só que entra na excessão com a mensagem de alerta

Não sei o que pode ser…

    Ah..com relação as notificações do console:

[quote]java.io.IOException
at javax.microedition.lcdui.ImageDataFactory.createImageFromStream(), bci=8
at javax.microedition.lcdui.ImageDataFactory.createResourceImageData(), bci=45
at javax.microedition.lcdui.Image.createImage(), bci=8
at ex1.startApp(ex1.java:54)
at javax.microedition.midlet.MIDletTunnelImpl.callStartApp(), bci=1
at com.sun.midp.midlet.MIDletPeer.startApp(), bci=7
at com.sun.midp.midlet.MIDletStateHandler.startSuite(), bci=269
at com.sun.midp.main.AbstractMIDletSuiteLoader.startSuite(), bci=52
at com.sun.midp.main.CldcMIDletSuiteLoader.startSuite(), bci=8
at com.sun.midp.main.AbstractMIDletSuiteLoader.runMIDletSuite(), bci=161
at com.sun.midp.main.AppIsolateMIDletSuiteLoader.main(), bci=26[/quote]

Mude esta parte

para:
img = Image.createImage("/foto.png");

Te aconselho também a criar uma pasta só para suas imagens, só pra organização! :slight_smile:

Flw’s

Já tinha tentado…Nada mudou, ainda c/ o msmo erro.
Qnto a criar uma pasta para as imagens, tb já tentei e nda…
:cry:

Kra eu tentei aqui e deu certo a imagem apareceu. Não deu erro.
Posta seu código completo ai

Então, aí está o código da minha aplicação, dá uma força ae o//

[code]import java.io.IOException;
import java.util.Date;
import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;
import javax.microedition.lcdui.*;

public class ex1 extends MIDlet implements CommandListener{
public Display display;
public Form frmCadastro;
public TextField tf_nome, tf_fone;
public DateField df_datacad;
public StringItem si_infor;
public ChoiceGroup cg_sexo;
public Image img;
public ImageItem ii_img = null;
public Ticker ticker;//Texto com movimentono fundo da tela
public Command cm_Voltar, cm_Ajuda, cm_Novo;
public TextBox tb_ajuda;
public Alert alert;
public Command add;

public void startApp() throws MIDletStateChangeException {
System.out.println("Iniciou o programa!");
display= Display.getDisplay(this);
frmCadastro= new Form("Primeira Aplicação");
display.setCurrent(frmCadastro);
tf_nome = new TextField("Nome:","",30,TextField.ANY);
tf_fone = new TextField("Telefone:","",15,TextField.PHONENUMBER);
df_datacad = new DateField("Data Cadastro:",DateField.DATE);
df_datacad.setDate(new Date());
cg_sexo = new ChoiceGroup("sexo:", ChoiceGroup.POPUP, new String[]{"Masculino","Feminino"},null);
si_infor = new StringItem("Label","texto qualquer");
ticker = new Ticker("Programa teste no celular!");
cm_Voltar = new Command("Voltar",Command.BACK,1);
cm_Ajuda = new Command("Ajuda",Command.ITEM,1);
cm_Novo = new Command("Novo",Command.ITEM,2);
tb_ajuda = new TextBox("Ajuda do Menu","Clica ai meu!", 400, TextField.ANY);
alert = new Alert("ERRO, ","imagem nao encontrada !!!",null,AlertType.INFO);

//Adicionando Campos no Formulário
add= new Command("Add",Command.SCREEN,1);

frmCadastro.addCommand(add);

frmCadastro.append(tf_nome);
frmCadastro.append(tf_fone);
frmCadastro.append(cg_sexo);
frmCadastro.append(df_datacad);
frmCadastro.append(si_infor);
frmCadastro.setTicker(ticker);
frmCadastro.addCommand(cm_Voltar);
frmCadastro.addCommand(cm_Ajuda);
frmCadastro.addCommand(cm_Novo);   
carregarImagem();
//fica fazendo a leitura deste método pra ver se houve algum comando
frmCadastro.setCommandListener(this);

}

public void destroyApp(boolean unconditional) {
    System.out.println("Finalizou o programa!");
}

public void pauseApp() {

}

public void commandAction(Command c, Displayable d) {
    if (c == cm_Voltar )
{
destroyApp(true);
notifyDestroyed();
}
    else if (c == cm_Ajuda)
{
display.setCurrent(tb_ajuda);
}
}


public void carregarImagem()

{
try
{
img = Image.createImage("/foto.PNG");
ii_img = new ImageItem(null,img,ImageItem.LAYOUT_CENTER,null);
frmCadastro.append(ii_img);
}catch(IOException e) {
display.setCurrent(alert);
e.printStackTrace();
}

}

}[/code]
:-o

cecim
Não vi nada de errado. A unica coisa que fiz foi o que eu te disse antes trocar por ‘.png’. A unica coisa que presumo é que você não esta colocando a sua imagem na raiz, como especificou no caminho. Da uma conferida ai, é só isso.

Flw’s

Ok, vou dar uma conferida…
Mas acredito que a imagem esteja na pasta src do projeto…
msmo assim, vlw pela ajuda