0
Я хочу связать Biderectional() DatePicker. Вот что я сделалBinding DatePicker
@FXMLController("title.fxml")
public class Controller {
@FXML
private DatePicker dp_date_from;
@Inject
private Model model;
...
@PostConstruct
public void init(){
...
dp_date_from.valueProperty().bindBidirectional(model.dateFromProperty());
...
}
Модель Класс
@FlowScoped
public class Model {
private ObjectProperty<LocalDate> dateFrom;
public ObjectProperty<LocalDate> dateFromProperty() {
return dateFrom;
}
...
}
Он выдает ошибку:
io.datafx.controller.FxmlLoaderException:java.lang.reflect.InvocationTargetException
Что может быть причиной этого?
Ошибка, вызывается в самом приложении, она ничего не пишет в консоли. Я debegged код, и когда дело доходит до линии dp_date_from.valueProperty...
он идет здесь бросать исключение:
public <T> ViewContext<T> createByController(Class<T> controllerClass, String fxmlName, ViewConfiguration viewConfiguration, Object... viewContextResources) throws FxmlLoadException {
try {
Object e = controllerClass.newInstance();
ViewMetadata metadata = new ViewMetadata();
FXMLController controllerAnnotation = (FXMLController)controllerClass.getAnnotation(FXMLController.class);
if(controllerAnnotation != null && !controllerAnnotation.title().isEmpty()) {
metadata.setTitle(controllerAnnotation.title());
}
if(controllerAnnotation != null && !controllerAnnotation.iconPath().isEmpty()) {
metadata.setGraphic(new ImageView(controllerClass.getResource(controllerAnnotation.iconPath()).toExternalForm()));
}
FXMLLoader loader = this.createLoader(e, fxmlName, viewConfiguration);
Node viewNode = (Node)loader.load();
ViewContext context = new ViewContext(viewNode, e, metadata, viewConfiguration, viewContextResources);
context.register(e);
context.register("controller", e);
this.injectFXMLNodes(context);
context.getResolver().injectResources(e);
Method[] var11 = e.getClass().getMethods();
int var12 = var11.length;
for(int var13 = 0; var13 < var12; ++var13) {
Method method = var11[var13];
if(method.isAnnotationPresent(PostConstruct.class)) {
method.invoke(e, new Object[0]);
}
}
return context;
} catch (Exception var15) {
throw new FxmlLoadException(var15);
}
}
Пожалуйста, покажите полные трассировки стеки, и определить строку в коде, который генерирует его. –
@James_D, я обновил сообщение тем, что смог найти – Sher
Невозможно сказать, не зная причины исключения, которое находится в трассировке стека. Пожалуйста, опубликуйте его. –