⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 eventsmidlet.java

📁 J2ME in a Nutshell随书源码 图书语言: 简体中文 图书类型: 程序设计 >> 手机开发下载 授权方式: 免费手机开发图书 图书
💻 JAVA
字号:
package ora.ch5;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.midlet.MIDlet;public class EventsMIDlet extends MIDlet                         implements CommandListener {    // The MIDlet's Display object    private Display display;            // Flag indicating first call of startApp    protected boolean started;        // Exit command    private Command exitCommand;        protected void startApp() {        if (!started) {            display = Display.getDisplay(this);            Canvas canvas = new EventsCanvas();                        exitCommand = new Command("Exit", Command.EXIT, 0);            canvas.addCommand(exitCommand);            canvas.setCommandListener(this);            display.setCurrent(canvas);                        started = true;        }    }    protected void pauseApp() {    }    protected void destroyApp(boolean unconditional) {    }    public void commandAction(Command c, Displayable d) {        if (c == exitCommand) {            // Exit. No need to call destroyApp            // because it is empty.            notifyDestroyed();        }    }     }class EventsCanvas extends Canvas {        static int[] keyCodes = {KEY_NUM0, KEY_NUM1, KEY_NUM2, KEY_NUM3, KEY_NUM4,                             KEY_NUM5, KEY_NUM6, KEY_NUM7, KEY_NUM8, KEY_NUM9,                             KEY_POUND, KEY_STAR};    static String[] keyNames = {"KEY_NUM0", "KEY_NUM1", "KEY_NUM2", "KEY_NUM3", "KEY_NUM4",                             "KEY_NUM5", "KEY_NUM6", "KEY_NUM7", "KEY_NUM8", "KEY_NUM9",                             "KEY_POUND", "KEY_STAR"};                                 static int[] gameActions = {                            UP, DOWN, LEFT, RIGHT, FIRE,                            GAME_A, GAME_B, GAME_C, GAME_D};    static String[] gameNames = {                            "UP", "DOWN", "LEFT", "RIGHT", "FIRE",                            "GAME_A", "GAME_B", "GAME_C", "GAME_D" };        int lastKeyCode = 0;        int lastX;        int lastY;        boolean pointer;    protected void keyPressed(int keyCode) {        lastKeyCode = keyCode;        repaint();    }            protected void keyRepeated(int keyCode) {        lastKeyCode = keyCode;        repaint();    }            protected void keyReleased(int keyCode) {        lastKeyCode = 0;        repaint();    }        protected void pointerPressed(int x, int y) {        lastX = x;        lastY = y;        pointer = true;        repaint();    }            protected void pointerDragged(int x, int y) {        lastX = x;        lastY = y;        pointer = true;        repaint();    }        protected void pointerReleased(int x, int y) {        pointer = false;        repaint();    }        protected void paint(Graphics g) {        g.setColor(0xffffff);        g.fillRect(0, 0, getWidth(), getHeight());                g.setColor(0);        if (lastKeyCode != 0) {            String keyText = "keyCode " + lastKeyCode;            String keyName = null;            // See if it is a standard key            for (int i = 0; i < keyCodes.length; i++) {                if (lastKeyCode == keyCodes[i]) {                    keyName = keyNames[i];                    break;                }            }                           if (keyName == null) {                // See if it is a game action                for (int i = 0; i < gameActions.length; i++) {                    if (lastKeyCode == getKeyCode(gameActions[i])) {                        keyName = gameNames[i];                        break;                    }                }            }                        g.drawString(keyText, getWidth()/2, getHeight()/2,                             Graphics.BASELINE|Graphics.HCENTER);                                if (keyName != null) {                g.drawString(keyName, getWidth()/2, getHeight()/2 + g.getFont().getHeight(),                             Graphics.BASELINE|Graphics.HCENTER);                }        } else if (pointer) {            g.drawString("(" + lastX + ", " + lastY + ")", getWidth()/2, getHeight()/2,                             Graphics.BASELINE|Graphics.HCENTER);        }    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -