Mega Code Archive

 
Categories / Java Tutorial / J2ME
 

Use Image as buffer

import javax.microedition.lcdui.Canvas; import javax.microedition.lcdui.Display; import javax.microedition.lcdui.Font; import javax.microedition.lcdui.Graphics; import javax.microedition.lcdui.Image; import javax.microedition.midlet.MIDlet; public class ImageBufferGraphicsMIDlet extends MIDlet {   private Display display;   protected void startApp() {     Canvas canvas = new LineCanvas();     display = Display.getDisplay(this);     display.setCurrent(canvas);   }   protected void pauseApp() {   }   protected void destroyApp(boolean unconditional) {   } } class LineCanvas extends Canvas {   public void paint(Graphics g) {         int width = getWidth();         int height = getHeight();         Image image = Image.createImage(width, height);         Graphics imageGraphics = image.getGraphics();         imageGraphics.fillRect(0, 0, width, height);         int count = 10;         int yIncrement = height/count;         int xIncrement = width/count;         for (int i = 0, x = xIncrement, y = 0; i < count; i++) {             imageGraphics.setColor(0xC0 + ((128 + 10 * i) << 8) + ((128 + 10 * i) << 16));             imageGraphics.drawLine(0, y, x, height);             y += yIncrement;             x += xIncrement;         }         imageGraphics.setFont(Font.getFont(Font.FACE_PROPORTIONAL,                                 Font.STYLE_UNDERLINED, Font.SIZE_SMALL));         imageGraphics.setColor(0xffff00);         imageGraphics.drawString("Image Graphics", width/2, 0, Graphics.TOP | Graphics.HCENTER);         g.drawImage(image, 0, 0, Graphics.TOP | Graphics.LEFT);   } }