Imágenes en J2ME
Publicado por Manuel (2 intervenciones) el 09/07/2008 00:25:59
Estimados...
Estoy tratando simplemente de abrir una imagen programando en ECLIPSEME. Sin embargo, cada vez que intento ejecutar el programa (tengo todos los plugins bien instalado y la WTK...), no reconoce la ubicación de la imagen png. He intentado todo, ponerla en la carpeta Res, Bin,Bin/Res,Src,Src/Res,Mi_Proyecto, y nada ha resultado.
¿Alguien ha tenido un error similar o Sabe como Solucionarlo?
De Antemano Gracias..
PD: El nombre del archivo es el correcto..
PD2: El código es el siguiente...
import javax.microedition.lcdui.Canvas;
import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Displayable;
import javax.microedition.lcdui.Font;
import javax.microedition.lcdui.Graphics;
import javax.microedition.lcdui.Image;
import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;
public class Juego extends MIDlet implements CommandListener {
//Encabezado
private Command exitCommand;
private Display display;
private SSCanvas screen;
public Juego()
{display = Display.getDisplay(this);
exitCommand = new Command("Salir",Command.SCREEN,2);
screen = new SSCanvas();
screen.addCommand(exitCommand);
screen.setCommandListener(this);
}
public void commandAction(Command c, Displayable s)
{if (c==exitCommand)
{try {
destroyApp(false);
} catch (MIDletStateChangeException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
notifyDestroyed();
}
}
protected void destroyApp(boolean arg0) throws MIDletStateChangeException {}
protected void pauseApp() {}
protected void startApp() throws MIDletStateChangeException
{display.setCurrent(screen);}
}
//===================================================
class SSCanvas extends Canvas {
protected void paint(Graphics g)
{ Image img=null;
//Borrar 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("Texto",getWidth()/2,10, Graphics.BASELINE|Graphics.HCENTER);
//Dibujar Línea
try {img=Image.createImage("/fondo.png");}
catch (Exception e) {System.err.println("error ubicacion"+e);}
g.drawImage(img, getWidth()/2,40, Graphics.HCENTER|Graphics.VCENTER);
}
}
Estoy tratando simplemente de abrir una imagen programando en ECLIPSEME. Sin embargo, cada vez que intento ejecutar el programa (tengo todos los plugins bien instalado y la WTK...), no reconoce la ubicación de la imagen png. He intentado todo, ponerla en la carpeta Res, Bin,Bin/Res,Src,Src/Res,Mi_Proyecto, y nada ha resultado.
¿Alguien ha tenido un error similar o Sabe como Solucionarlo?
De Antemano Gracias..
PD: El nombre del archivo es el correcto..
PD2: El código es el siguiente...
import javax.microedition.lcdui.Canvas;
import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Displayable;
import javax.microedition.lcdui.Font;
import javax.microedition.lcdui.Graphics;
import javax.microedition.lcdui.Image;
import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;
public class Juego extends MIDlet implements CommandListener {
//Encabezado
private Command exitCommand;
private Display display;
private SSCanvas screen;
public Juego()
{display = Display.getDisplay(this);
exitCommand = new Command("Salir",Command.SCREEN,2);
screen = new SSCanvas();
screen.addCommand(exitCommand);
screen.setCommandListener(this);
}
public void commandAction(Command c, Displayable s)
{if (c==exitCommand)
{try {
destroyApp(false);
} catch (MIDletStateChangeException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
notifyDestroyed();
}
}
protected void destroyApp(boolean arg0) throws MIDletStateChangeException {}
protected void pauseApp() {}
protected void startApp() throws MIDletStateChangeException
{display.setCurrent(screen);}
}
//===================================================
class SSCanvas extends Canvas {
protected void paint(Graphics g)
{ Image img=null;
//Borrar 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("Texto",getWidth()/2,10, Graphics.BASELINE|Graphics.HCENTER);
//Dibujar Línea
try {img=Image.createImage("/fondo.png");}
catch (Exception e) {System.err.println("error ubicacion"+e);}
g.drawImage(img, getWidth()/2,40, Graphics.HCENTER|Graphics.VCENTER);
}
}
Valora esta pregunta


0