📄 mycanvas.java
字号:
package example;/** * <p>Title: </p> * <p>Description: </p> * <p>Copyright: Copyright (c) 2003</p> * <p>Company: Sensible Development Ltd</p> * @author Alan Newman * @version 1.0 */import javax.microedition.lcdui.*;public class MyCanvas extends Canvas implements Runnable, CommandListener{ private ExampleMidlet midlet; private volatile Thread animationThread=null; private static int canvasHeight, canvasWidth; private final MyMovingObject myMovingObject; private final MyBackground myBackground; private Image buffer; private Graphics graphics; private boolean running; private final int SLEEP=10; private Command exit; private Command memory; public MyCanvas(ExampleMidlet midlet) { this.midlet=midlet; canvasHeight=getHeight(); canvasWidth=getWidth(); myMovingObject=new MyMovingObject(); myBackground=new MyBackground(); buffer=Image.createImage(canvasWidth, canvasHeight); graphics=buffer.getGraphics(); exit=new Command("Exit", Command.STOP,1); memory=new Command("Memory", Command.SCREEN,1); this.addCommand(exit); this.addCommand(memory); this.setCommandListener(this); } public static int getCanvasHeight() {return canvasHeight;} public static int getCanvasWidth() {return canvasWidth;} synchronized void start() { running=true; animationThread=new Thread(this); animationThread.start(); } public void run() { try { while (running) { repaint(0,0,canvasWidth, canvasHeight); serviceRepaints(); Thread.sleep(SLEEP); } } catch(InterruptedException ie) { System.out.println(ie.toString()); } } synchronized void stop() { running=false; } public void paint (Graphics g) { drawAnimation(g); } private void drawAnimation(Graphics gr) { Graphics g=gr; if(this.isDoubleBuffered()) { g=graphics; } try { myBackground.draw(g); myBackground.setPosition(); myMovingObject.setFrame(); myMovingObject.draw(g); gr.drawImage(buffer,0,0,g.TOP|g.LEFT); } catch(Exception e) { System.out.println("drawAnimation Error: "+e.toString()); } } public void commandAction(Command c, Displayable d) { //if any Exit key is pressed then exit if(c==exit) { midlet.exitMidlet(); } else if(c==memory) { System.out.println("Free memory: "+Runtime.getRuntime().freeMemory()); } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -