2011-05-07 133 views
3

我发现除复制和粘贴现有GWT编辑器示例之外的任何内容都令人沮丧。这里试图创建一个最小编辑器,但没有成功。简单的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()); 

实例,我得到一个包含

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的UmbrellaException?失败似乎在生成的代码中,很难对我进行调试。

非常感谢。

回答

4

在初始化编辑器驱动程序时,“salutation”子编辑器尚未初始化(仍为null)。

在编辑init呼叫之前拨打createAndBindUi

+0

当然。再次感谢! – Glenn 2011-05-07 17:17:43