Visualizar una imagen. IMPORTANTE

gerva
12 de Septiembre del 2005
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);
}

}

Snookie
12 de Septiembre del 2005
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!!