调用需要 KeyEvent 参数的函数
Call a function that requires a KeyEvent parameter
我想在另一个函数中调用这个 java 函数。如何手动触发 KeyEvent?
private void chooseItemByKey(KeyEvent event)
我试过了
chooseItemByKey(new KeyEvent(null, null, null, null, null, KeyCode.DOWN, false, false, false, false));
触发 KeyCode "Down" 但我的 JRE 告诉我有一个
Exception in thread "JavaFX Application Thread" java.lang.IllegalArgumentException: argument type mismatch
该方法需要 KeyEvent,因为我也通过一个键触发它,但我也需要从另一个函数触发该函数,而无需按下键盘上的键。
有什么想法吗?
只需重构它,以便它调用仅采用 KeyCode
:
的不同方法
@FXML
private void chooseItemByKey(KeyEvent event) {
chooseItemByKeyCode(event.getCode());
}
private void chooseItemByKeyCode(KeyCode code) {
// essentially whatever you previously had in chooseItemByKey...
}
那么你只需要调用
chooseItemByKeyCode(KeyCode.DOWN);
我想在另一个函数中调用这个 java 函数。如何手动触发 KeyEvent?
private void chooseItemByKey(KeyEvent event)
我试过了
chooseItemByKey(new KeyEvent(null, null, null, null, null, KeyCode.DOWN, false, false, false, false));
触发 KeyCode "Down" 但我的 JRE 告诉我有一个
Exception in thread "JavaFX Application Thread" java.lang.IllegalArgumentException: argument type mismatch
该方法需要 KeyEvent,因为我也通过一个键触发它,但我也需要从另一个函数触发该函数,而无需按下键盘上的键。 有什么想法吗?
只需重构它,以便它调用仅采用 KeyCode
:
@FXML
private void chooseItemByKey(KeyEvent event) {
chooseItemByKeyCode(event.getCode());
}
private void chooseItemByKeyCode(KeyCode code) {
// essentially whatever you previously had in chooseItemByKey...
}
那么你只需要调用
chooseItemByKeyCode(KeyCode.DOWN);