一直试图在JavaFX 8(8u5)中运行我的JavaFX 2.2应用程序,并一直遇到这个错误:
Caused by: javafx.fxml.LoadException: Error resolving onMouseClicked=
'#chooseClient', either the event handler is not in the Namespace or there
is an error in the script. /C:/Users/Viktor/app/bin/main/fxml/layout.fxml:301
我的代码似乎完全正常,最重要的是,JavaFx 2.2中的一切都完美无缺!它引用的chooseclient方法声明如下:
@FXML protected static void chooseClient() { /* code here */ }
正如在this question中暗示的那样,我做了一个查找和替换操作来更改所有单词' private'并且'受保护'公共'。没有变化,仍然有同样的错误。
我将我的应用程序从eclipse导出为.jar文件并通过命令行(Windows)运行
"C:\Program Files\Java\jdk1.8.0_05\jre\bin\java.exe" -jar cClient.jar
点击'跑步'在eclipse中导致相同的错误。
运行完全相同的导出jar但使用JavaFx 2.2导致完全没有问题。这可能是个错误吗?对可能导致问题的原因感到非常困惑。非常感谢任何帮助。
答案 0 :(得分:3)
我相信通过@FXML
对静态访问的支持在JavaFX 8中消失了。删除静态修饰符。