Передайте ссылку на функцию в пользовательский конструктор узла через @NamedArg - PullRequest
1 голос
/ 18 июня 2020

Вот мой настраиваемый узел:

public final class CustomNode {

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

}

И вот как я создаю его в моем файле F XML:

<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)

ВАЖНО:

Я не хочу делать это через свойства (также известные как методы setOnStart и getOnStart внутри CustomNode). Это должно быть через NamedArg

Есть идеи?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...