Midlet: cargando una imagen
El archivo está en formato jpg y se copia dentro de src. A partir de ahí el empaquetador lo guarda y desde el programa le hacemos referencia con una barra por delante.
/*
* Spongebob
* Midlet que muestra una imagen
*/
package hello;
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
import java.io.*;
public class Spongebob extends MIDlet implements CommandListener {
private Command exitCommand;
private Display pantalla;
private ImageCanvas screen;
public Spongebob () {
// Tomamos la pantalla
pantalla = Display.getDisplay(this);
// Creamos el comando para salir
exitCommand = new Command("Exit", Command.EXIT, 2);
// Asociamos a Screen nuestro Canvas especial
screen = new ImageCanvas();
// Establecemos el comando para salir
screen.addCommand(exitCommand);
screen.setCommandListener(this);
}
/**
* startApp
* se ejecuta al inicio de la aplicación
*/
public void startApp() throws MIDletStateChangeException {
// Establecemos el formulario en la pantalla
pantalla.setCurrent(screen);
}
/**
* pauseApp
* se ejecuta en caso de pausar la aplicación
*/
public void pauseApp() {
}
/**
* destroyApp
* se ejecuta al terminar la aplicación
*/
public void destroyApp(boolean unconditional) {
}
public void commandAction(Command c, Displayable s) {
if (c == exitCommand) {
destroyApp(false);
notifyDestroyed();
}
}
}
class ImageCanvas extends Canvas {
// Dentro de canvas debe existir esta función
public void paint(Graphics g) {
Image img = null;
// Pantalla blanca
g.setColor(255, 255, 255); // White
//g.fillRect(0, 0, getWidth(), getHeight());
try {
// Creamos la imagen
// Atención, el fichero de imagen está en src
// y así se lo indico al interfaz del sdk
img = Image.createImage("/bob.jpg");
} catch (IOException ioex) {
System.err.println("Error loading image: " + ioex.getMessage());
}
// Metemos la imagen
g.drawImage(img, getWidth() / 2, getHeight() / 2,
Graphics.HCENTER | Graphics.VCENTER);
// Preparamos la fuente
Font f = Font.getFont(Font.FACE_PROPORTIONAL, Font.STYLE_BOLD, Font.SIZE_MEDIUM);
g.setFont(f);
// Las letras en blanco...
g.setColor(255, 255, 255);
g.drawString("Spongebob rulez", getWidth() / 2, 0,Graphics.HCENTER | Graphics.TOP);
}
}