J2ME Image Example

In this application we are going to simply create an image using canvas class. In this class we are creating the image and a thread to run the image.

J2ME Image Example

J2ME Image Example

     

In this application we are going to simply create an image using canvas class. In this class we are creating the image and a thread to run the image. The source code of image creation and thread creation is here:

this.image = Image.createImage("/mobile.png");   

new Thread(this).start();

When the thread will start, it will execute the run() method, the run method executed internally using its run able interface implementing in the class. When the run() method is invoke, which repaint  the canvas.

 

 

The Application is as follows:

 

SlideImage.java

import javax.microedition.lcdui.*;
import javax.microedition.midlet.*;

public class SlideImage extends MIDlet{
  private Display display;
  private SimpleSlidingCanvas canvas;
  
  public void startApp(){
  canvas = new SimpleSlidingCanvas();
  display = Display.getDisplay(this);
  display.setCurrent(canvas);
  }

  public void pauseApp(){}

  public void destroyApp(boolean unconditional){
  notifyDestroyed();
  }
}

class SimpleSlidingCanvas extends Canvas implements Runnable{
  Image image = null;

  public SimpleSlidingCanvas(){
  try{
  this.image = Image.createImage("/mobile.png");
  new Thread(this).start();
  }catch(Exception e){
  e.printStackTrace();
  }
  }

  public void run(){
  while(true){
  repaint();
  try{
  synchronized(this){
  wait(50L);
  }
  }catch(Exception e){
  e.printStackTrace();
  }
  }
  }

  protected void paint(Graphics g){
  g.setColor(0xffffff);
  g.fillRect(0, 0, getWidth(), getHeight());

  if(image != null){
  g.drawImage(image, getWidth() / 2, getHeight() / 2, Graphics.HCENTER
 | Graphics.VCENTER);
  } else {
  g.setColor(0x000000);
  g.drawString("No image available", getWidth() / 2, getHeight() / 2,  Graphics.HCENTER | Graphics.BASELINE);
  }
  }
}

Download Source Code