我有一个自定义文本字段PersistentPromptTextField
,它扩展了TextField
,并希望能够将其添加到我的.fxml文件中。当我这样做并运行它时,我会得到一个错误列表,例如:
Caused by: java.lang.InstantiationException: gui.PersistentPromptTextField
at java.lang.Class.newInstance(Unknown Source)
at sun.reflect.misc.ReflectUtil.newInstance(Unknown Source)
... 75 more
Caused by: java.lang.NoSuchMethodException: gui.PersistentPromptTextField.<init>()
at java.lang.Class.getConstructor0(Unknown Source)
... 77 more
在我的.fxml文件中,我也包含了<?import gui.PersistentPromptTextField?>
,但显然我遗漏了一些东西。
答案 0 :(得分:2)
由FXMLLoader
引起的错误(默认情况下)尝试使用no-arg构造函数实例化给定的类。如果您没有定义,请尝试。
使用具有某些参数的构造函数进行实例化,您需要使用@NamedArgs
注释。有关详细信息,请参阅this comprehensive answer。