从JavaFX 2.2升级到JavaFX 8的问题(可能的错误?)

时间:2014-04-26 16:37:51

标签: java javafx javafx-2 java-8 javafx-8

一直试图在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导致完全没有问题。这可能是个错误吗?对可能导致问题的原因感到非常困惑。非常感谢任何帮助。

1 个答案:

答案 0 :(得分:3)

我相信通过@FXML对静态访问的支持在JavaFX 8中消失了。删除静态修饰符。