inputmanager.java

来自「<j2me 开发精解> 詹建光著 里所有的源码。对J2me的开发相当」· Java 代码 · 共 48 行

JAVA
48
字号
package com.j2medev.chapter5.example;

import java.util.Enumeration;
import java.util.Hashtable;

public class InputManager {
    private Hashtable keyMap=new Hashtable();//保存键盘映射的MAP
    
    public InputManager() {
    }
    
    public void mapkeyCodeToInputAction(int keyCode,InputAction action){
        keyMap.put(new Integer(keyCode),action);//将一个整型keyCode映射到一个action
    }
    
    public void clearAll(){//清空所有已知映射
        keyMap.clear();
    }
    
    public void keyPressed(int keyCode){//回调方法,用于键盘按下
        InputAction action=getInputAction(keyCode);
        if(action!=null){
            action.press();
        }
    }
    
    public void keyReleased(int keyCode) {//回调方法,用于键盘抬起
        InputAction action=getInputAction(keyCode);
        if(action!=null){
            action.release();
        }
    }
    
    public void keyRepeated(int keyCode) {//回调方法,用于键盘重复,保持空白
    }
    
    protected InputAction getInputAction(int keyCode) {//取得map中的对应Action
        return (InputAction)keyMap.get(new Integer(keyCode));
    }
    
    public void resetAll(){//重置所有Action
        for (Enumeration e = keyMap.elements() ; e.hasMoreElements() ;) {
            ((InputAction)e.nextElement()).reset();
        }
        
    }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?