Mega Code Archive

 
Categories / Java by API / Javax Microedition Lcdui
 

Graphics

import javax.microedition.lcdui.Canvas; import javax.microedition.lcdui.Command; import javax.microedition.lcdui.CommandListener; import javax.microedition.lcdui.Display; import javax.microedition.lcdui.Displayable; import javax.microedition.lcdui.Graphics; import javax.microedition.lcdui.Image; import javax.microedition.midlet.MIDlet; import javax.microedition.midlet.MIDletStateChangeException; public class DisplayBigImageTest extends MIDlet implements CommandListener {   private Display display;   private TestCanvas tc;   private Command leftCommand = new Command("Left", Command.SCREEN, 1);   private Command rightCommand = new Command("Right", Command.SCREEN, 1);   public DisplayBigImageTest() {     Image img = null;     try {       img = Image.createImage("/10.png");     } catch (Exception e) {       System.out.println(e.getMessage());     }     tc = new TestCanvas(img);     tc.addCommand(rightCommand);     tc.addCommand(leftCommand);     tc.setCommandListener(this);     display = Display.getDisplay(this);   }   public void startApp() throws MIDletStateChangeException {     display.setCurrent(tc);   }   public void pauseApp() {   }   public void destroyApp(boolean unconditional) {   }   public void commandAction(Command c, Displayable d) {     int stepX = tc.getWidth() / 4;     int stepY = tc.getHeight() / 4;     if (d == tc && c == leftCommand) {       tc.increaseXY(stepX, 0);       tc.repaint();     } else if (d == tc && c == rightCommand) {       tc.increaseXY(-stepX, 0);       tc.repaint();     }   }   class TestCanvas extends Canvas {     private Image img;     private int transX = 0;     private int transY = 0;     public TestCanvas(Image img) {       this.img = img;       transX = 0;       transY = 0;     }     public void increaseXY(int x, int y) {       transX += x;       transY += y;     }     public void paint(Graphics g) {       int width = this.getWidth();       int height = this.getHeight();       g.setGrayScale(255);       g.fillRect(0, 0, width - 1, height - 1);       g.setGrayScale(0);       g.drawRect(0, 0, width - 1, height - 1);       g.translate(transX, transY);       g.drawImage(img, 0, 0, g.TOP | g.LEFT);     }   } }