j2me problemas con imagenes

jmunozz
27 de Enero del 2006
hola amigos estoy empezando con j2me, iba bien hasta que por ayuda de un tutorial se me ocurrio poner un imagen, aparece todo lo demas pero no la imagen, utilizo el ktoolbar y el jdk apropiado, este ews el codigo

import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;


public class Canvas2 extends MIDlet implements CommandListener{
private Display display;
private SSCanvas screen;
private Command exitCommand;

public Canvas2(){

display = Display.getDisplay(this);
exitCommand = new Command("Salir", Command.SCREEN,2);

screen = new SSCanvas();

screen.addCommand(exitCommand);
screen.setCommandListener(this);
}

public void startApp() throws MIDletStateChangeException{
display.setCurrent(screen);
}

public void pauseApp(){
}

public void destroyApp(boolean unconditional){
}


public void commandAction(Command c, Displayable s){

if (c==exitCommand){
destroyApp(false);
notifyDestroyed();
}
}
}

class SSCanvas extends Canvas{

public void paint(Graphics g) {

Image img = null;

// borra la pantalla
g.setColor(255, 255, 255);
g.fillRect(0, 0,getWidth(),getHeight());

// dibujar linea
g.setColor(10, 200, 100);
g.drawLine(0, 80, getWidth(),80);

// poner texto
Font fuente = Font.getFont(Font.FACE_PROPORTIONAL, Font.STYLE_BOLD,Font.SIZE_MEDIUM);
g.setFont(fuente);

g.drawString("J2ME",getWidth()/2,10,Graphics.BASELINE|Graphics.HCENTER);
// g.drawString("J2ME",getWidth()/2,10,Graphics.HCENTER|Graphics.VCENTER);

// cargar y mostrar graphico

try{
g.setColor(255, 0, 0);
img = Image.createImage("/duke.png");
}
catch (Exception e) {
System.err.println("error " + e);
}
// g.drawImage(img, getWidth()/2, 40, Graphics.HCENTER|Graphics.VCENTER);


}
}

ojala me puedan ayudar

Schwarzung
27 de Enero del 2006
Lo mejor es que registres la imagen como un atributo. Eso lo puedes hacer desde el toolkit.
F铆jate c贸mo hacerlo en el ejemplo cn im谩genes que trae el toolkit (en settings).

oscarval
27 de Enero del 2006
Pusiste en la carpete RES el archivo "duke.png"?


jmunozz
27 de Enero del 2006
si

Nuria
27 de Enero del 2006
Un consejillo. No cargues la imagen en el m茅todo paint() ya que este se llama cada vez que se repinta la pantalla, carga la imagen en el constructor de la clase.

andres
27 de Enero del 2006
mira, yo soy nuevo en j2me, pero he puesto imagenes de esta forma y me ha resultado

en el constructor :

try{
imagen = Image.createImage("/nombrePaquete/nombreImange.png");
}catch(Exception e1){}

y la imagen la puse en el paquete donde trabajo...osea la estructura de mi proyecto es asi

noProy
>src
>nomPaquete
>midlet
>nombreImagen.png