Привет Я использую JSNI в GWT, чтобы использовать код javascript. У меня есть виджеты, определенные в UiBinder (file.ui.xml):Изменение текста виджетов через JSNI
<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 нуля. и поэтому я не могу установить его текст. Я не уверен, что делаю. может кто-нибудь предложить что-нибудь. действительно ценят любую помощь. уже было слишком много времени без каких-либо успехов.
я попытался это, но это не сработало. со следующей ошибкой: Uncaught com.google.gwt.event.shared.UmbrellaException: Exception catch: (TypeError): elt_0_g $ .setInnerText не является функцией – Nhqazi
спасибо .it работал для меня. Однако он добавил текст не в виджет метки, а в добавленный узел. Я хочу добавить текст в виджет метки, который я передал jsni. внутренний текст не дает никаких рекомендаций. – Nhqazi
Когда вы вызываете label.setText (""), этот родной метод вызывается под капотом. –