在SmartGWT中使用SpinnerItem时出现IllegalArgumentException

时间:2014-02-13 15:27:13

标签: java gwt smartgwt

我正在尝试使用SpinnerItem作为ListGridField

的编辑器类型
final ListGridField quantityGridField = new ListGridField("quantity", "Cantidad");
quantityGridField.setEditorType(SpinnerItem.class);
quantityGridField.setCanEdit(true); 

但是在我编译项目并部署它之后,出现了这个错误。

java.lang.IllegalArgumentException: No BeanFactory has been registered for: com.smartgwt.client.widgets.form.fields.SpinnerItem

这是我第一次收到此错误,而我在此处未找到任何相关问题。

1 个答案:

答案 0 :(得分:0)

正如你在javadoc中描述的那样使用你的方法(setEditorType(class)),你使用了smartgwt的Reflection机制。你可以在这里阅读:http://www.smartclient.com/smartgwt/javadoc/com/smartgwt/client/docs/Reflection.html。 根据此文档,您应该在使用之前注册SpinnerItem(它是FormItem的子类):

  

同样,注册FormItem及其中的所有子类   classpath(包括你的自定义子类),你可以使用   BeanFactory.FormItemMetaFactory。

     

GWT.create(BeanFactory.FormItemMetaFactory.class);

因此,在使用之前,只需尝试在代码中的某处插入此GWT.create行,这样gwt编译器就能找到您的编辑器。