键盘事件
键盘按下事件(如果按下按键不放,则会多次触发监听)
button1.setOnKeyPressed(new EventHandler<KeyEvent>() {
@Override
public void handle(KeyEvent event) {
System.out.println("event.getCharacter() = " + event.getCharacter());
System.out.println("event.getEventType() = " + event.getEventType());
System.out.println("event.getSource() = " + event.getSource());
System.out.println("event.getTarget() = " + event.getTarget());
System.out.println("event.getText() = " + event.getText());
System.out.println("event.isControlDown() = " + event.isControlDown());
if (event.getCode() == KeyCode.SPACE) {
if (iTime.get() <= 100) {
iTime.set(iTime.get() + 1);
}
if (dTime.get() <= 1) {
dTime.set(dTime.get() + 0.01);
}
}
System.out.println("按下了" + event.getCode().getName());
}
});
松开按键事件
button1.setOnKeyReleased(new EventHandler<KeyEvent>() {
@Override
public void handle(KeyEvent event) {
System.out.println("释放了" + event.getCode().getName());
if (event.getCode() == KeyCode.SPACE) {
iTime.set(0);
dTime.set(0);
}
}
});
作用于有输入焦点的组件的监听器
textField.setOnKeyTyped(new EventHandler<KeyEvent>() {
@Override
public void handle(KeyEvent event) {
System.out.println("event.getCharacter() = " + event.getCharacter());
}
});