我想在按下键盘上的任何键时调用处理程序方法,然后获得按下的键字符。所以我在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就会停止显示错误并且应用程序可以运行。
在this页面上,我找到了答案,该答案与我使用的onKeyPressed完全相同,所以我很困惑为什么它在我的情况下不起作用。
感谢您的帮助,>
Vid
我想在按下键盘上的任何键时调用处理程序方法,然后获得按下的键字符。所以我在fxml文件中为按钮写了这一行:
您可能输入了错误的KeyEvent
。它必须是javafx.scene.input.KeyEvent
。
用鼠标右键单击file.FXML
并从选项make controller
中进行选择,问题将自动解决,该错误将消失。