mardi 13 novembre 2007

J2me comment afficher une image?

Voici le code source d'une Midlet qui permet l'affichage d'une image, l'exemple est assez simple à comprendre.

package exemple1;

import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
import javax.microedition.lcdui.*;
import java.io.IOException;

public class Affiche extends MIDlet {
private Display _display;
private Moteur _moteur;

public Affiche()
{
_moteur = new Moteur();
_display = Display.getDisplay(this);
}

class Moteur extends Canvas
{
private int _height,_zoneH;
private int _width,_zoneW;

public Moteur()
{
_height = getHeight();
_width = getWidth();
_zoneW = _width -5 ;
_zoneH = _height -5;

}

protected void paint(Graphics g)
{
//g.setColor(0);
g.fillRect(0, 0, _width, _height);
Image source;
try
{
source = Image.createImage("/exemple1/tux2.png");
}
catch (IOException e)
{
throw new RuntimeException ("Unable to load Image - "+e);
}
g.drawImage(source, _height/2, _width/2, Graphics.VCENTER|Graphics.HCENTER);

}



}

protected void keyPressed(int keyCode)
{

}

protected void keyReleased(int keyCode)
{

}
public void startApp() {
_display.setCurrent(_moteur);
}

public void pauseApp() {
}

public void destroyApp(boolean unconditional) {
}
}

2 commentaires:

Twub a dit…

Salut,
Je tiens juste a te dire que ton blog est super bien fait et entour pas mal de truc très intéressant sur j2me.

je cherche actuellement énormément de renseignement sur la programmation sur téléphone portable avant de me lancer dans la création d'un jeux.

Je voulais savoir si tu pouvais me renseigner sur quelque truc?

j'attends ta réponse.

Merci a toi ;)

Unknown a dit…

Petite modif dans le programme pour avoir une image centrée :

g.drawImage(source, _width/2, _height/2, Graphics.VCENTER|Graphics.HCENTER);