j2me problemas con imagenes
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
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
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).
F铆jate c贸mo hacerlo en el ejemplo cn im谩genes que trae el toolkit (en settings).
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.
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
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
