我想在另一个函数中调用这个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,因为我也是通过一个键来触发它,但是我需要从另一个函数触发该函数,而不是按键盘上的键。 有什么想法吗?
答案 0 :(得分:1)
只需重构它就可以调用另一种方法,只需要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);