今天有空,想想自己一个月前学习J2ME的时候,一直不知道如何编写监听手机键盘的代码,现在把我当时的想法写下来吧。
先贴一个入门级别的代码,再分析:
package com.srk.local.key;
import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;
import javax.microedition.lcdui.Canvas;
import javax.microedition.lcdui.Graphics;
import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.Displayable;
public class KeyActionMIDlet extends MIDlet implements CommandListener {
private Command exitCommand;
private MainCanvas currentDisplay;
public KeyActionMIDlet() {
currentDisplay = new MainCanvas();
exitCommand = new Command("退出", Command.EXIT, 1);
}
protected void startApp() throws MIDletStateChangeException {
System.out.println("startApp()!");
currentDisplay.addCommand(exitCommand);
new Thread(currentDisplay).start();
currentDisplay.setCommandListener(this);
Display.getDisplay(this).setCurrent(currentDisplay);
}
protected void pauseApp() {
System.out.println("pauseApp()!");
}
protected void destroyApp(boolean _boolean) throws
MIDletStateChangeException {
System.out.println("destroyApp()!");
}
public void commandAction(Command command, Displayable displayable) {
if (command == exitCommand) {
try {
destroyApp(false);
notifyDestroyed();
} catch (MIDletStateChangeException e) {
e.printStackTrace();
}
}
}
}
class MainCanvas extends Canvas implements Runnable {
private String buttonPressed;
private boolean leftPressed, rightPressed, upPressed, downPressed;
private int px, py, pu, pd;
public MainCanvas() {
init();
}
public void paint(Graphics g) {
g.setColor(0xFFFFFF);
g.fillRect(0, 0, this.getWidth(), this.getHeight());
g.setColor(0x000000);
g.drawString(buttonPressed, this.getWidth() / 2, this.getHeight() / 2,
Graphics.LEFT | Graphics.TOP);
g.drawString("J2ME", px, py, Graphics.HCENTER | Graphics.TOP);
}
public void run() {
【编辑推荐】
评论加载中....