站内搜索: 请输入搜索关键词

当前页面: 开发资料首页Java 专题MIDP低级事件处理机制

MIDP低级事件处理机制

摘要: MIDP低级事件处理机制
:0 〗
</td> </tr> <tr> <td height="35" valign="top" class="ArticleTeitle"> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td width="493" height="280" align="left" valign="top">

在MIDP高级事件处理机制中我们讲述了如何实现CommandListener和ItemStateListener接口来完成高级事件处理。但是来自于键盘输入的低级事件是不能由Command来完成的。你必须继承Canvas类并覆盖其中的方法来完成低级事件的处理。

通常低级事件的处理是为了满足游戏开发的需要,因为游戏开发相关的问题非常复杂。因此不在这里进行阐述,有兴趣的朋友可以和我索要相关的游戏开发资料。MIDP定义了如下键值在Canvas类内

</td> <td width="191" valign="top"> </td> </tr> </table> 下面是一个例子,它的功能就是在屏幕上显示出你按下键的键值,界面非常简单因此没有抓图。代码如下所示:

import javax.microedition.lcdui.Display;
import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;
public class LowLevelMIDlet extends MIDlet {

private Display display;
private KeyCanvas keyCanvas;

protected void startApp() throws MIDletStateChangeException
{
display = Display.getDisplay(this);
keyCanvas = new KeyCanvas();
display.setCurrent(keyCanvas);

}

protected void pauseApp()
{
}

protected void destroyApp(boolean arg0) throws MIDletStateChangeException
{
}

}

import javax.microedition.lcdui.Canvas;
import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.Displayable;
import javax.microedition.lcdui.Graphics;


public class KeyCanvas extends Canvas implements CommandListener
{
private String key = "Press any key";

protected void paint(Graphics g)
{
g.setColor(255, 255, 255);
g.fillRect(0, 0, getWidth(), getHeight());
g.setColor(0, 0, 0);
g.drawString(key, getWidth() / 2, getHeight() / 2, Graphics.TOP| Graphics.HCENTER);

}

public void keyPressed(int keyCode)
{
key = keyCode + " is pressed";
repaint();
}

public void keyReleased(int keyCode)
{
key = keyCode + " is released";
repaint();
}


public void commandAction(Command arg0, Displayable arg1)
{

}

}

</td> </tr> <tr>


↑返回目录
前一篇: J2ME程序与Servlet通讯访问数据库
后一篇: MIDP的高级事件处理机制