1

欢迎,我对“GWTENT”反射有疑问。

如何使用反射创建一个类?

我试过这个:

 try {
            ClassType ct = TypeOracle.Instance.getClassType(Klient.class);
            ct.invoke(null, "Klient", null);
        } catch (ReflectionRequiredException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
 `

打电话给班级:

package pl.cba.lukaszbaczek.client.Test;

import com.extjs.gxt.ui.client.widget.Window;
import com.google.gwt.user.client.Element;
import com.gwtent.reflection.client.Reflectable;
import com.gwtent.reflection.client.Reflection;

@Reflectable
public class Klient extends Window implements Reflection {

    @Override
    protected void onRender(Element parent, int index) {
        super.onRender(parent, index);
        setHeading("Klient");
        setSize(600, 600);
    }

    public Klient(){
        super();
        show();

    }
}

但因错误而失败:

17:30:59.129 [ERROR] [makerbase] Uncaught exception escaped
com.gwtent.reflection.client.NotFoundException: Klient not found or unimplement?
4

1 回答 1

1

如果您在编译成 javascript 的客户端,则不能使用反射。您可以使用 GWT.create(Clazz.class) 但在编译时必须知道类签名。这是由于 javascript 编译器的要求。

这是一个使用生成器进行反射的链接 你可以在 GWT 客户端中使用 Java Reflection api吗

于 2012-08-21T22:02:48.840 回答