GWT按钮EventListener未激发
我有一个GWT按钮EventListener未激发,gwt,button,Gwt,Button,我有一个html标记 我用过: ((HasClickHandlers)RootPanel.get("test").getWidget(0)).addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { Window.alert('sss'); } } 我执行了,但没有行动 更新: package com.example.client; import com.go
html标记
我用过:
((HasClickHandlers)RootPanel.get("test").getWidget(0)).addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
Window.alert('sss');
}
}
我执行了,但没有行动
更新:
package com.example.client;
import com.google.gwt.core.client.EntryPoint;
import com.google.gwt.event.dom.client.*;
import com.google.gwt.user.client.*;
import com.google.gwt.user.client.ui.RootPanel;
public class ExampleWebApp implements EntryPoint {
public void onModuleLoad() {
((HasClickHandlers) RootPanel.get("test").getWidget(0)).addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
Window.alert("i got it");
}
});
}
}
HTML:
GWT按钮小部件是一个
按钮
标记,而不是输入
标记。这意味着在这种情况下不能使用GWT按钮小部件。要使其工作,您需要创建自己的小部件,它可以基于小部件ButtonBase
,但需要使用InputElement
对象而不是ButtonElement
进行初始化
从html获取标记的下一步是添加类似于大多数小部件中存在的静态wrap
方法的内容。以下是当输入
是一个按钮
标记时,在您的示例中如何使用它:
Button.wrap(RootPanel.get("test").getWidget(0).getElement()).addClickHandler(
new ClickHandler() {
@Override public void onClick(ClickEvent event) {
Window.alert('sss');
}
});
在您的情况下,您可以将
wrap
方法添加到自定义输入小部件中。请参见tewrap
方法的按钮
小部件实现,这是相同的,当然除了小部件本身的创建。您不能只使用html按钮并尝试向其添加单击处理程序。您需要使用gwt代码创建按钮。尝试:
<div id="test"></div>
我有一个div id=“test”input type=“button”value=“OK”//div html标记。我在html标记中有一个div id=“test”input type=“button”value=“OK”。但是,仅仅因为您铸造了小部件,就没有操作,这并不意味着您“神奇地”获得了处理程序。您必须确保添加到根目录的小部件正确实现HasClickHandlers接口。如果您添加整个代码,将帮助.package com.example.client;导入com.google.gwt.core.client.EntryPoint;导入com.google.gwt.event.dom.client.*;导入com.google.gwt.user.client.*;导入com.google.gwt.user.client.ui.RootPanel;公共类ExampleWebApp实现入口点{public void onModuleLoad(){((HasClickHandlers)RootPanel.get(“test”).getWidget(0)).addClickHandler(新建ClickHandler(){@Override public void onClick(ClickEvent事件){Window.alert(“我得到它”);}}}}在提问之前,请先学会正确使用该网站-您知道有一个“编辑”按钮,使用一些标记也会有所帮助关于您的问题-您显然误解了GWT的工作方式,请访问官方文档(),深入研究它们,然后可能会回来提出合理的问题。
<div id="test"></div>
Button button = new Button("OK");
RootPanel.get("test").add(button);
button.addClickHandler(new ClickHandler() {...});