Visualizar una imagen. IMPORTANTE
hola a todos, GRACIAS POR VUESTRO TIEMPO
Estoy intentando visualizar una imagen utilizando el metodo createImage de la clase Image. La imagen la leo de un byte [] fichero. Mi aplicacion compila correctamente, pero cuando cargao la aplicacion me sa el siguiente error:
error al cargar imagen: java.lang.NullPointerException
Alguien me puede decir porque, el codigo de mi aplicacion es el siguiente. por ultimo byte[] fichero sera donde descara la imagen en formato PNG
import javax.microedition.lcdui.*;
public class FImagen extends Form implements CommandListener{
private MobileHome midlet;
private ImageItem imagen;
private int x,y;
private byte fichero[];
private Image source=null;
private Image im=null;
//CONSTRUCTOR
public FImagen(MobileHome midlet){
super("Imagen del Servidor");
this.midlet=midlet;
try{
im=Image.createImage(fichero,0,fichero.length);
}
catch(Exception e){
System.out.println("Error al cargar imagen: "+e);
}
imagen=new ImageItem(null,im,ImageItem.LAYOUT_CENTER,"No ha salidos");
x=(getWidth()/2);
y=(getHeight()/2);
}
public void paint(Graphics g){
g.setColor(255,255,255);
g.fillRect(0,0,getWidth(),getHeight());
g.setColor(0,0,0);
g.drawImage(im,x,y,Graphics.VCENTER|Graphics.HCENTER);
}
}
Estoy intentando visualizar una imagen utilizando el metodo createImage de la clase Image. La imagen la leo de un byte [] fichero. Mi aplicacion compila correctamente, pero cuando cargao la aplicacion me sa el siguiente error:
error al cargar imagen: java.lang.NullPointerException
Alguien me puede decir porque, el codigo de mi aplicacion es el siguiente. por ultimo byte[] fichero sera donde descara la imagen en formato PNG
import javax.microedition.lcdui.*;
public class FImagen extends Form implements CommandListener{
private MobileHome midlet;
private ImageItem imagen;
private int x,y;
private byte fichero[];
private Image source=null;
private Image im=null;
//CONSTRUCTOR
public FImagen(MobileHome midlet){
super("Imagen del Servidor");
this.midlet=midlet;
try{
im=Image.createImage(fichero,0,fichero.length);
}
catch(Exception e){
System.out.println("Error al cargar imagen: "+e);
}
imagen=new ImageItem(null,im,ImageItem.LAYOUT_CENTER,"No ha salidos");
x=(getWidth()/2);
y=(getHeight()/2);
}
public void paint(Graphics g){
g.setColor(255,255,255);
g.fillRect(0,0,getWidth(),getHeight());
g.setColor(0,0,0);
g.drawImage(im,x,y,Graphics.VCENTER|Graphics.HCENTER);
}
}
Saludos
Claro, te debe salir una excepción de puntero nulo, dónde estás llenando el arreglo "fichero"? eso no aparece, fijate que si en la sentencia de declaración colocás
private byte[] fichero=new byte[<un_número>];
ya no te sale la excepción de puntero nulo, sino una de que no se pudo crear la imagen a partir del arreglo.
Supongo que la imagen debe salir de un RMS o de un flujo de entrada, pero ninguna de esas opciones la usás en el código .... ese es el problema. Suerte!!
Claro, te debe salir una excepción de puntero nulo, dónde estás llenando el arreglo "fichero"? eso no aparece, fijate que si en la sentencia de declaración colocás
private byte[] fichero=new byte[<un_número>];
ya no te sale la excepción de puntero nulo, sino una de que no se pudo crear la imagen a partir del arreglo.
Supongo que la imagen debe salir de un RMS o de un flujo de entrada, pero ninguna de esas opciones la usás en el código .... ese es el problema. Suerte!!
