Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/324.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在fxml中定义自定义类_Java_Javafx - Fatal编程技术网

Java 在fxml中定义自定义类

Java 在fxml中定义自定义类,java,javafx,Java,Javafx,我有一个名为“Language”的自定义类,我想在fxml中定义它,如: <Language fx:value="getBundle"> </Language> 语言直接扩展对象,而不是任何JavaFX组件。显然,它引发了以下异常: 无法强制com.bl.commons。Language@69435到类javafx.scene.Node 那我该怎么做呢?我想要的是,我的大部分模态都在那个类中,我想直接调用语言的方法,并在fxml本身中设置内容。如果这是不可能的,那么

我有一个名为“Language”的自定义类,我想在fxml中定义它,如:

<Language fx:value="getBundle">
</Language>

语言直接扩展对象,而不是任何JavaFX组件。显然,它引发了以下异常:

无法强制com.bl.commons。Language@69435到类javafx.scene.Node


那我该怎么做呢?我想要的是,我的大部分模态都在那个类中,我想直接调用
语言的方法,并在fxml本身中设置内容。如果这是不可能的,那么还有其他选择吗?

据我所知,您的类必须以某种方式扩展
节点
,以便添加到其他元素的子元素列表中(这是您将其放在FXML中任何位置时所做的),因为这些子元素存储为
ObservableList

请注意,这并不意味着您必须做任何特殊的事情,只需执行以下操作:

public class Language extends Node // or StackPane or whatever
{
    public Language()
    {
        super();
        // ...carry on...
    }
}

如果
Language
已经扩展了其他内容,您将希望使该类扩展
Node
或重新考虑您的类层次结构。

我看到了一些关于的问题,抱歉,最活跃的[JavaFx论坛是Oracle inc.JavaFx成员]()非常有趣的帖子和想法。对于使用类和java代码非常有用。但真正好的事情是将其写入fxml文件。