Imagem não aparece

Estou tentando colocar imagem na tela mas não consigo. Onde estou errando >>>>>

import java.io.*;
import javax.microedition.lcdui.*;

public class Memo extends Canvas {
	private Image image;
	
	public Memo() {
		try {
			image = Image.createImage("/1.jpg");
		} catch(IOException e) {}
	}
	
	protected void paint(Graphics g) {
		g.setColor(0xffffff);
		g.fillRect(0, 0, getWidth(), getHeight());
		g.setColor(0x0000ff);
		g.drawImage(image, getWidth()/2, getHeight()/2, Graphics.TOP|Graphics.LEFT);
	}
}

Tenho que colocar a imagem em algum lugar específico?

OBS:Estou usando o Eclipse com o plugin EclipseMe

1 - Já conseguiu determinar se o erro é durante o carregamento da imagem ou durante sua impressão na tela?

2 - O que aparece na tela?

3 - Alguma IOException é lançada?

4 - Colocou a imagem no diretório correto?

Responda essas perguntas, para mais detalhes, assim é possível dar uma resposta melhor. Até lá, a única coisa que posso dizer é para tentar utilizar um arquivo .png.

Waocnek

Fiz uns testes e descobri que o erro é durante o carregamento da imagem.
A única IOException que é lançada é essa que ocorre durante o carregamento da imagem.
A imagem apenas não aparece na tela.
Coloquei uma imagem .png para testar mas não funcionou.
Coloquei tanto na pasta res e na pasta src (que é onde está o o arquivo .java).
Não mudei nda no código.

Oq pode estar acontecendo? Como resolver?

Hum… Você tentou colocar o arquivo .png (não pode ser .jpg, leia isto, para mais detalhes) no diretório onde encontra sua classe?

Este é um código de uma aplicação minha, o arquivo se encontra no mesmo diretório do código. O que eu sugiro:

1 - Altere a String do seu código para procurar o arquivo “/1.png”.

2 - Coloque a versão .png do arquivo (com o nome “1”, é claro) dentro do diretório do arquivo com o código compilado.

3 - Execute e teste.

Waocnek

Consegui fazer a imagem funcionar, mas tive que colocar dentro da pasta verified/classes

Agora outro problema que estou tendo é o seguinte:
Eu crio um projeto naquele Sun Java Wireless Toolkit e copio os arquivos .java pra dentro da pasta src.
Quando clico em Build ele dá um erro mto estranho, que ñ entendo, sendo que esse erro, qdo compilo pelo eclipse, não aparece e roda normalmente >>>>>

[color=“red”]
Memo.java:94: nextInt() in java.util.Random cannot be applied to (int)
Memo.numGerado = random.nextInt(9);
^
1 error
com.sun.kvem.ktools.ExecutionException
Build failed
[/color]

Qdo fui olhar a linha que dava erro >> random.nextInt(9); - linha 94

public void run() {
		random = new Random();
		Memo.numGerado = random.nextInt(9); //linha 94
		Memo.texto = Integer.toString(Memo.numGerado);
		Memo.numeros[Memo.cont] = Memo.numGerado;
		Memo.cont++;
		System.out.println(Memo.numGerado);
	}

a variável estática numGerado da classe Memo é do[color=“red”] tipo int[/color].

Pq isso só ocorre no Wireless Toolkit? Tem como resolver?

Pelo o que estou vendo, o problema é de CLDC, como você pode ver pelas informações disponíveis na classe Random pelo Javadoc, o método nextInt(int n) apenas surgiu no CLDC 1.1, ou seja, se você tentar executá-lo usando o 1.0, o compilador irá acreditar que você está usando o método nextInt(), que não possui argumentos, daí o erro. Se for isso mesmo, tente retirar o 9 e compilar, se funcionar deve dar tudo certo. Para resolver de vez, configure o emulador para rodar como se fosse CLDC 1.1.

Waocnek

waocnek
vlw pela dica do CLDC
realmente era isso…qdo coloquei o wtk pra rodar com CLDC 1.1, compilou perfeitamente…
brigadão…