除了复制和粘贴现有的GWT编辑器示例之外,我发现其他任何事情都令人沮丧。这是尝试创建一个最小的编辑器,但没有成功。
public class ContactEditor extends Composite implements Editor<Contact> {
interface Binder extends UiBinder<Widget, ContactEditor> {}
interface ContactEditorDriver extends
SimpleBeanEditorDriver<Contact, ContactEditor> {}
private final ContactEditorDriver editorDriver;
@UiField TextBox salutation;
public ContactEditor(Contact contact) {
editorDriver = GWT.create(ContactEditorDriver.class);
editorDriver.initialize(this);
editorDriver.edit(contact);
initWidget(GWT.<Binder> create(Binder.class).createAndBindUi(this));
}
}
使用
实例化时ContactEditor contactEditor = new ContactEditor(new Contact());
我得到一个包含
的UmbrellaException
Caused by: java.lang.NullPointerException: null
at ...ContactEditor_SimpleBeanEditorDelegate.attachSubEditors(ContactEditor_SimpleBeanEditorDelegate.java:12)
at com.google.gwt.editor.client.impl.AbstractEditorDelegate.initialize(AbstractEditorDelegate.java:264)
at com.google.gwt.editor.client.impl.SimpleBeanEditorDelegate.initialize(SimpleBeanEditorDelegate.java:32)
at com.google.gwt.editor.client.impl.AbstractSimpleBeanEditorDriver.edit(AbstractSimpleBeanEditorDriver.java:45)
at ...ContactEditor.<init>(ContactEditor.java
这里发生了什么--- SubEditors?失败似乎是在生成的代码中,我很难调试。
非常感谢。
答案 0 :(得分:4)
当您初始化编辑器驱动程序时,“称呼”子编辑器尚未初始化(仍为null
)。
在编辑createAndBindUi
电话前移动init
来电。