我想在按下键盘上的任何键时调用处理程序方法,然后获取按下的键字符。所以我在 fxml 文件中为按钮写了这一行:
<Button fx:id="button" layoutX="126.0" layoutY="90.0" onKeyPressed="#handleButton" text="Test!" />
当按下任何键时,这应该调用控制器类中的 handleButton 方法并将 KeyEvent 参数传递给它。所以我在里面写了这个方法:
@FXML
private void handleButton(KeyEvent event) {
System.out.println(event);
}
在 fxml 文件中,NetBeans 显示错误“处理程序方法不可访问。公开,或使用 @FXML 进行注释。”,我已经完成了。
一旦我从更改private void handleButton(KeyEvent event)
为private void handleButton(Event event)
NetBeans 就会停止显示错误并且应用程序可以正常工作。
在此页面上,我找到了答案,它使用 onKeyPressed 与我完全相同,所以我真的很困惑为什么它在我的情况下不起作用。
谢谢你的帮助,
视频