⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 inputaction.java

📁 《j2me开发精解〉(詹健飞)CD-rom附带源码。用netbeans
💻 JAVA
字号:
package com.j2medev.chapter5.example;

public class InputAction {
    //两种检测模式
    public static final int MODE_NORAML = 0;
    
    public static final int MODE_INITAL_ONLY = 1;
    
    //三种按键状态
    private static final int STATE_PRESSED = 1;
    
    private static final int STATE_RELEASED = 2;
    
    private static final int STATE_HOLDON = 3;
    
    //检测模式变量
    private int mode;
    
    //按键状态变量
    private int state;
    
    public InputAction() {//按照MODE_NORAML模式初始化
        this(MODE_NORAML);
    }
    
    public InputAction(int mode) {//按照指定模式初始化
        this.mode = mode;
        this.state = STATE_RELEASED;
        reset();
    }
    
    public synchronized void press() {//按下
        if (state != STATE_HOLDON) {
            state = STATE_PRESSED;
        }
    }
    
    public synchronized void release() {//抬起
        state = STATE_RELEASED;
    }
    
    public synchronized void reset() {//重置
        release();
    }
    
    public synchronized void tap() {//模拟一次按键
        press();
        release();
    }
    
    public synchronized boolean isPressed() {//根据不同模式,判断是否按下按键
        int lastState = state;
        if (state == STATE_PRESSED && mode == MODE_INITAL_ONLY) {
            state = STATE_HOLDON;
        }
        return lastState == STATE_PRESSED;
    }
}

⌨️ 快捷键说明

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