【IT168 技术文档】其实J2ME做触摸开发也不是很难的,呵呵,有兴趣的朋友接着往下看吧。
在WTK目录下的\WTK22\wtklib\devices\DefaultColorPhone\DefaultColorPhone.properties
的文件中有一行touch_screen=false,把它改成true就可以了
MIDP2.0对于触摸屏方法有3个
1.pointerDragged(int x, int y) 触摸屏拖拽事件(暂时还没研究)
2.pointerPressed(int x, int y) 触摸屏按压
3.pointerReleased(int x, int y) 触摸屏释放
pointerPressed(int x, int y)当用户按下触摸屏的时候会自动调用这个方法x,y就是当前压下的坐标
pointerReleased(int x, int y)和pointerPressed(int x, int y)类似相应触摸屏释放事件
这里,我只是以相应左右软键及菜单事件处理为例:
protected void pointerPressed(int x, int y) { switch (status) { case Consts.S_MENU: int menuWidth = 90; int menuItemHeight = 17; int menuBarHeight = 16; int menuNum = 10; if (x < menuWidth && y > (screenHeight - (menuItemHeight * menuNum + menuBarHeight))) { int menuIndex = (y - (screenHeight - (menuItemHeight * menuNum + menuBarHeight))) / menuItemHeight; doMenuOK(menuIndex); } case Consts.S_DRAW_DIBIAO_LIST: case Consts.S_LOCAL_SEARCH_RESULT: case Consts.S_MAP_VIEW: // 左右软键40*20的区域 if (x < 40 && y > (screenHeight - 20)) { doCommandLeft(); } if (x > (screenWidth - 40) && y > (screenHeight - 20)) { doCommandRight(); } break; } }