0
嗨我在GWT中使用JSNI来使用一些JavaScript代码。我在UiBinder的定义我的窗口小部件(file.ui.xml):通过JSNI更改Widget文本
<g:Label ui:field="LBLMsg" text="mytext" styleName="{style.conceptMessage}" width="1800px"/>
比我通过以下代码中使用这种标签在我的Java文件:
@UiField标签LBLMsg;
它工作正常我可以使用标签小部件,并可以使用LBLMsg.setText(“sometex”) 但是我的问题开始时,我传递给我的JSNI函数在一些JAVAScript代码中使用它。我想改变我用下面的代码使用Java脚本本该标签的文本:
void TestWritingLabelFromJSNI()
{
writeGWTLabel(LBLMsg.getElement());
}
private native void writeGWTLabel(Element elt)/*-{
var labelelement = document.getElementById('LBLMsg');
alert("Element labelelement ;"+labelelement);
}-*/
当我把这个labelelement返回NULL。因此我无法设置文本。我不知道我在做什么。任何人都可以提出任何建议。非常感谢任何帮助。已经浪费太多时间而没有任何成功。
我曾经尝试过,但没有奏效。出现以下错误: 未捕获的com.google.gwt.event.shared.UmbrellaException:发生异常:(TypeError):elt_0_g $ .setInnerText不是函数 – Nhqazi
谢谢.it为我工作。但是,它不是将文本添加到标签小部件中,而是添加到添加的节点中。我希望在我传递给jsni的标签小部件中添加文本。该密文不会对其提出任何建议。 – Nhqazi
当你调用label.setText(“”)时,这个本地方法被调用。 –