Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在GWT中手动创建JavaScriptObject?_Gwt - Fatal编程技术网

如何在GWT中手动创建JavaScriptObject?

如何在GWT中手动创建JavaScriptObject?,gwt,Gwt,当我有这个类时,如何手动创建JavaScriptObject public class Person extends JavaScriptObject{ protected Person(){} public final native String FirstName()/*-{ return this.firstName; }-*/; public final native String LastName()/*-{ ret

当我有这个类时,如何手动创建JavaScriptObject

public class Person extends JavaScriptObject{
    protected Person(){}

    public final native String FirstName()/*-{
        return this.firstName;
    }-*/; 

    public final native String LastName()/*-{
        return this.lastName;
    }-*/;
 }
我这样问是因为我有一个JavaScriptObject Peron数组

public JsArray<Person> persons = JavaScriptObject.createArray().cast();
但是我不知道如何手工制作这样一个物体。 firstName和lastName的值将取自一个UI组件,比如一个textField。
请帮忙

你应该能做到这一点吗

Person a = (Person)JavaScriptObject.createObject().cast();

谢谢。我有两个问题:1)你的版本和这个版本->Person a=Person.createObject()cast()有区别吗;2) 如何将值传递给person对象?我应该创建setter方法吗?但是在扩展JavaScriptObject的类中,不允许使用变量。那么,如何将值lastName和firstName传递给对象呢?两个createObject方法之间没有区别,因为它是JavascriptObject类上的静态方法。对于第二个问题,您可以扩展JavascriptObject以访问本机JSON对象。setter是将值分配给本机Javascript变量的本机调用。我认为出于这个原因,他们制定了一条规则,在覆盖类型中不允许使用成员变量。请阅读以了解更多详细信息。class Person扩展JavaScriptObject{protected Person(){}公共最终本机字符串FirstName()/*-{返回this.FirstName;}-/;公共最终本机字符串LastName()/-{返回this.LastName;}-/;公共最终本机字符串setFirstName(字符串fName)/-{this.FirstName=fName;}-/;公共最终本机字符串setLastName(字符串lName)/-{this.lastName=lName;}-*/;}Person a=(Person)JavaScriptObject.createObject().cast();a、 setFirstName(“彼得”);a、 setLastName(“Pan”);public JsArray persons=JavaScriptObject.createArray().cast();人。推(a);克里希纳库马尔普
Person a = (Person)JavaScriptObject.createObject().cast();