2

我正在尝试使用新的 GWT 2.0 UIBinder 功能,并且我有一个如下所示的 ui XML:

<ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder" xmlns:g="urn:import:com.google.gwt.user.client.ui" xmlns:my='urn:import:com.mystuff.mypackage'>
<g:VerticalPanel>
      <!-- other stuff -->
  <my:FileUploadPanel.ValidatingFileUpload styleName="field" ui:field="fileUpload" />
</g:VerticalPanel>

ValidatingFileUpload 是包含在 FileUploadPanel 中的非静态内部类,它扩展了 FileUpload GWT 类。它有一个显式的零参数构造函数,它简单地调用super(). 但是,当 GWT 启动时,我收到此错误:

00:00:18.359 [ERROR] Rebind result 'com.mystuff.mypackage.FileUploadPanel.ValidatingFileUpload' has no default (zero argument) constructors.
java.lang.NoSuchMethodException: com.mystuff.mypackage.FileUploadPanel$ValidatingFileUpload.<init>()

知道这里可能出了什么问题吗?

4

1 回答 1

4

非静态内部类需要在其包含类的实例中进行实例化。这会阻止 UiBinder 在需要时实例化它。尝试改用静态嵌套类。

于 2010-04-14T23:05:32.630 回答