📄 inputaction.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 + -