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;
        }
    }

评论被关闭。