Vaadin 当覆盖ConnectorTracker时出现NullPointerException.getConnectorTracker

Vaadin 当覆盖ConnectorTracker时出现NullPointerException.getConnectorTracker,vaadin,vaadin7,Vaadin,Vaadin7,阅读本文后,我尝试实现Jose Luis建议的解决方案 但我得到了这样的线索: java.lang.NullPointerException at com.vaadin.server.AbstractClientConnector.markAsDirty(AbstractClientConnector.java:138) at com.vaadin.ui.AbstractComponent.setWidth(AbstractComponent.java:844) at c

阅读本文后,我尝试实现Jose Luis建议的解决方案

但我得到了这样的线索:

java.lang.NullPointerException
    at com.vaadin.server.AbstractClientConnector.markAsDirty(AbstractClientConnector.java:138)
    at com.vaadin.ui.AbstractComponent.setWidth(AbstractComponent.java:844)
    at com.vaadin.ui.AbstractSingleComponentContainer.setWidth(AbstractSingleComponentContainer.java:210)
    at com.vaadin.ui.AbstractComponent.setSizeFull(AbstractComponent.java:817)
    at com.vaadin.ui.UI.<init>(UI.java:253)
    at com.vaadin.ui.UI.<init>(UI.java:238)
    at my.package.ui.MyUI.<init>(MyUI.java:72)
有人能帮助理解这些痕迹的原因吗?
如果需要,我可以提供更多的代码

资料:

public class MyUI extends UI {

    private final MyConnectorTracker tracker = new MyConnectorTracker(
  this);


    @Override
    public ConnectorTracker getConnectorTracker() {
      return this.tracker;
    }
}

这将解决NullPointerException。在第一次调用UI时设置跟踪器还为时过早。

为什么这与Spring有关?@andrestefan如果更正了,您能消除这个问题的负面影响吗?
public class MyUI extends UI {

    private final MyConnectorTracker tracker = new MyConnectorTracker(
  this);


    @Override
    public ConnectorTracker getConnectorTracker() {
      return this.tracker;
    }
}
public class MyUI extends UI {

  private MyConnectorTracker tracker;

  @Override
  public ConnectorTracker getConnectorTracker() {
    if (this.tracker == null) {
      this.tracker = new MyConnectorTracker(this);
    }
    return this.tracker;
  }
}