Closed. This question is off-topic。它当前不接受答案。
想改善这个问题吗? Update the question,所以它是on-topic,用于堆栈溢出。
6年前关闭。
我有一个名为“语言”的自定义类,我想在fxml中定义它,例如:
语言直接扩展
无法将com.bl.commons.Language@69435强制转换为类javafx.scene.Node
那我该怎么办呢?我想要的是,我的大部分模态都在该类中,我想直接调用
如果
想改善这个问题吗? Update the question,所以它是on-topic,用于堆栈溢出。
6年前关闭。
我有一个名为“语言”的自定义类,我想在fxml中定义它,例如:
<Language fx:value="getBundle">
</Language>
语言直接扩展
Object
,而不扩展任何JavaFX组件。显然,它引发以下异常:无法将com.bl.commons.Language@69435强制转换为类javafx.scene.Node
那我该怎么办呢?我想要的是,我的大部分模态都在该类中,我想直接调用
Language
方法并在fxml本身中设置内容。如果这不可能,那么还有其他选择吗? 最佳答案
据我所知,您的类必须以某种方式扩展Node
才能添加到其他元素的子级列表中(这是将其放在FXML中的任何位置时所做的事情),因为这些子级已存储作为ObservableList<Node>
。
请注意,这实际上并不意味着您必须做任何特别的事情,只需执行以下操作:
public class Language extends Node // or StackPane or whatever
{
public Language()
{
super();
// ...carry on...
}
}
如果
Language
已经扩展了其他内容,您将希望使该类扩展Node
或重新考虑您的类层次结构。10-07 13:54