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

深度剖析 J2ME MIDP 低層事件處理機制與按鍵編碼對照表

     編輯:Java 程式設計入門

低層事件方法總覽

Canvas 定義以下受保護方法供覆寫:

  • keyPressed(int keyCode)、keyReleased(int keyCode)、keyRepeated(int keyCode)
  • pointerPressed(int x, int y)、pointerDragged(int x, int y)、pointerReleased(int x, int y)(觸控螢幕)
  • showNotify()、hideNotify()(顯示/隱藏通知)
  • paint(Graphics g)(抽象方法,必須實作)
  • commandAction(Command, Displayable)(CommandListener 介面)

事件處理為串行阻塞:前一事件未返回前,後續事件不會執行(少數例外請查 API 文檔)。

標準按鍵編碼常數

為提升可移植性,建議使用 getGameAction(keyCode) 轉換為標準遊戲動作:UP, DOWN, LEFT, RIGHT, FIRE, GAME_A ~ GAME_D。

完整範例:按鍵編碼顯示器

public class KeyCanvas extends Canvas implements CommandListener {
    private String key = "Press any key";

    protected void paint(Graphics g) {
        g.setColor(0xFFFFFF); g.fillRect(0,0,getWidth(),getHeight());
        g.setColor(0x000000);
        g.drawString(key, getWidth()/2, getHeight()/2, Graphics.TOP|Graphics.HCENTER);
    }
    public void keyPressed(int keyCode) {
        key = keyCode + " is pressed"; repaint();
    }
    public void keyReleased(int keyCode) {
        key = keyCode + " is released"; repaint();
    }
    public void commandAction(Command c, Displayable d) {}
}

配合 LowLevelMIDlet 啟動,螢幕中央即時顯示按下/釋放的鍵值編碼,便於測試不同裝置的按鍵映射。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved
常數對應鍵
KEY_NUM0 ~ KEY_NUM9數字鍵 0-9
KEY_STAR* 鍵
KEY_POUND# 鍵