我想在GWT中调用Button的click事件功能... 我试过这段代码,但它无法正常工作..
Button btnAddField = new Button();
btnAddField.setText("Add");
btnAddField.setWidth("225px");
btnAddField.addClickHandler(new btnAddFieldButtonClickListener());
private class btnAddFieldButtonClickListener implements ClickHandler{
public void onClick(ClickEvent event) {
Window.alert("Called Click Event");
}
}
此功能将在单击按钮时调用
但是在调用此函数btnAddField.click()
答案 0 :(得分:6)
您也可以尝试:
view.btnAddField.fireEvent(new ClickEvent() { } );
(这是一个小小的黑客,因为com.google.gwt.event.dom.client.ClickEvent
已经保护了构造函数。)
或
DomEvent.fireNativeEvent(Document.get().createClickEvent(0, 0, 0, 0, 0,
false, false, false, false), view.btnAddField);
然后,在这两种情况下,都不需要为处理程序创建单独的类并打破封装,以便测试点击事件。
答案 1 :(得分:2)
我使用此代码解决了这个问题
btnAddField.fireEvent(new ButtonClickEvent ())
private class ButtonClickEvent extends ClickEvent{
/*To call click() function for Programmatic equivalent of the user clicking the button.*/
}
现在工作正常。