通过@NamedArg将函数引用传递给自定义节点构造函数

这是我的自定义节点:

public final class CustomNode {

    public CustomNode(@NamedArg("onStart") EventHandler<actionEvent> startMethod) {
        //code
    }

}

这是我在FXML文件中创建它的方式:

<CustomNode onStart="#start"/>

那行不通。

Caused by: java.lang.UnsupportedOperationException: Cannot determine type for property.
    at javafx.fxml/com.sun.javafx.fxml.BeanAdapter.getSetterMethod(BeanAdapter.java:177)
    at javafx.fxml/com.sun.javafx.fxml.BeanAdapter.put(BeanAdapter.java:250)
    at javafx.fxml/javafx.fxml.FXMLLoader$Element.processEventHandlerAttributes(FXMLLoader.java:626)
    at javafx.fxml/javafx.fxml.FXMLLoader$ValueElement.processEndElement(FXMLLoader.java:778)
    at javafx.fxml/javafx.fxml.FXMLLoader.processEndElement(FXMLLoader.java:2838)
    at javafx.fxml/javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2557)

重要提示:

我不想通过属性(即CustomNode中的setOnStart和getOnStart方法)来执行此操作。 必须通过NamedArg

有什么想法吗?

iCMS 回答:通过@NamedArg将函数引用传递给自定义节点构造函数

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/2110568.html

大家都在问