How are multiple key events detected in a single scene? I need my program to detect when the space bar and the right arrow keys are pressed simultaneously.
scene.setOnKeyPressed(new EventHandler<KeyEvent>() {
public void handle(KeyEvent ke) {
if (ke.getCode() == KeyCode.RIGHT) {
///
}
if (ke.getCode() == KeyCode.LEFT) {
///
}
if (ke.getCode() == KeyCode.SPACE) {
///
}
if (ke.getCode() == KeyCode.RIGHT && ke.getCode() == KeyCode.SPACE) {
// How??
}
}
});
The first 3 expressions look for a single key and work fine. The final expression never returns true. I believe only the latest key event is passed to the handler.
I looked at KeyCodeCombination, however this appears to be for use in cases when a key has a modifier key from a specified list (ALT_DOWN, SHIFT_DOWN, etc).
Is there a utility in FX that I can use?
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…