首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> J2ME

J2ME 觸控螢幕開發技巧:啟用觸控與事件處理

     編輯:J2ME

啟用模擬器觸控支援

在 WTK 目錄下的裝置屬性檔(如 DefaultColorPhone.properties)中,將 touch_screen=false 改為 touch_screen=true。

MIDP 2.0 觸控事件方法

Canvas 提供三個觸控相關方法:

  • pointerPressed(int x, int y):手指按下
  • pointerReleased(int x, int y):手指釋放
  • pointerDragged(int x, int y):手指拖曳(暫未深入研究)

座標 (x, 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);
            }
            break;

        case Consts.S_DRAW_DIBIAO_LIST:
        case Consts.S_LOCAL_SEARCH_RESULT:
        case Consts.S_MAP_VIEW:
            // 左右軟鍵區域:左下角 40x20、右下角 40x20
            if (x < 40 && y > (screenHeight - 20)) {
                doCommandLeft();   // 左軟鍵
            }
            if (x > (screenWidth - 40) && y > (screenHeight - 20)) {
                doCommandRight();  // 右軟鍵
            }
            break;
    }
}

開發建議

  1. 依螢幕解析度動態計算觸控區域,避免硬編碼座標。
  2. 提供視覺回饋(如按下時高亮)提升使用者體驗。
  3. 搭配 pointerReleased 處理點擊確認,避免誤觸。
  4. 在真機測試時注意不同廠商觸控靈敏度差異。

結語

透過簡單的設定與事件覆寫,即可在 J2ME 應用中支援觸控操作,為使用者帶來更直觀的互動體驗。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved