将JavaScriptObject强制转换为gwt小部件
我可以知道如何将JavascriptObject get从JSNI转换为gwt CUstomWidget吗将JavaScriptObject强制转换为gwt小部件,java,javascript,gwt,uibinder,Java,Javascript,Gwt,Uibinder,我可以知道如何将JavascriptObject get从JSNI转换为gwt CUstomWidget吗 CustomWidget widget=(CustomWidget)javascriptObjectFromJSNI//不起作用您可以使用CustomWidget作为JSNI方法的返回类型。上的示例对Customer(扩展了JavaScriptObject)执行此操作: 如果您的CustomWidget实际上是一个小部件(不是JavaScriptObject),那么您可能在寻找一些完全不同
CustomWidget widget=(CustomWidget)javascriptObjectFromJSNI代码>//不起作用您可以使用CustomWidget作为JSNI方法的返回类型。上的示例对Customer(扩展了JavaScriptObject)执行此操作:
如果您的CustomWidget实际上是一个小部件(不是JavaScriptObject),那么您可能在寻找一些完全不同的东西:在这种情况下,您必须编写一个wrap()
方法,比如com.google.gwt.user.client.ui.Button.wrap()
您不能将元素强制转换到小部件。在这种情况下,您可以使用GQuery来帮助您
GQuery.$(element).widget()将提供您在DOM上查找的GWT小部件。CustomWidget是GWT自定义小部件,而不是json。你能详细介绍一下wrap()吗?@cometa:好吧,你可以使用com.google.gwt.user.client.DOM.getElementById(String)
或其他方法来检索com.google.gwt.user.client.Element,然后将其输入到你自己的wrap()方法中,你必须以Button.wrap()、Anchor.wrap()、Label.wrap()的样式编写这个方法,…我浏览了标签源代码。我做了类似的工作,能够得到元素。但在我完成新的CustomWidget(元素)并尝试获取用户输入的值之后,它是空的。是否可以通过wrap()方法获取用户输入的值以返回customwidget?请参阅Hi Karthik,而使用GQuery时出现的错误是,类型com.google.gwt.query.client.GQuery没有可用的源代码;您忘记继承所需的模块了吗?…我现在可以做什么。。。
private native Customer getFirstCustomer() /*-{
return $wnd.jsonData[0];
}-*/;