单个按键:
常量 | 按键 |
DIGIT0-DIGIT9 | 主键盘0-9 |
NUMPAD0-NUMPAD9 | 小键盘0-9 |
A-Z | 字母键A-Z |
ENTER | 回车键 |
BACK_SPACE | ←退格 |
INSERT | Ins键 |
HOME | Home键 |
DELETE | DEL键 |
END | END键 |
UP、DOWN、LEFT、RIGHT | 上下左右箭头 |
ESCAPE | Esc键 |
BACK_QUOTE | `键 |
TAB | Tab键 |
CAPS | CAPSLK键 |
SHIFT | Shift键 |
NUM_LOCK | NUM(小键盘锁) |
CONTROL | CTRL按键 |
WINDOWS | Win(图标) |
ALT | ALT键 |
ALT_GRAPH | 右ALT键 |
ADD | + |
SUBTRACT | - |
MULTIPLY | * |
DEVIDE | /(小键盘) |
SLASH | / or 、(主键盘) |
EQUALS | = |
OPEN_BRACKET | [ |
CLOSE_BRACKET | ] |
SEMICOLON | ;(分号) |
QUOTE | ‘(单引号) |
BACK_SLASH | \ |
COMMA | ,(逗号) |
PERIOD | .(点、句号) |
组合按键实现:
设置一个boolean变量,当组合键被按下时,设为true,松开时设为false
例如左括号“(”,其实是shift+9(SHIFT+DIGHT9),只需借用一个shift的boolean变量就可实现。
boolean shift=false;
public void start(Stage root){
Pane pane=new Pane();
Scene scene=new Scene(pane,200,200);
scene.setOnKeyPressed(e->{
if(e.getCode()== KeyCode.SHIFT)
shift=true;
if(shift&&e.getCode()==KeyCode.DIGIT9)
System.out.println("yes!");
});
scene.setOnKeyReleased(e->{
if(e.getCode()==KeyCode.SHIFT)
shift=false;
});
root.setScene(scene);
root.show();
}