在WTK目錄下的WTK22wtklibdevicesDefaultColorPhoneDefaultColorPhone.properties的文件中有一行touch_screen=false,把它改成true。 MIDP2.0對于觸摸屏方法有三個: 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 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; } } |