日期:2014-05-20  浏览次数:20785 次

使用J2ME技术实现手机触摸屏开发的方法

在WTK目录下的\WTK22\wtklib\devices\DefaultColorPhone\DefaultColorPhone.properties的文件中有一行touch_screen=false,把它改成true。

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

?