我目前在使用@UiHandler
注释实现按钮事件时遇到问题。在我的.xml文件中,我的按钮定义为ui:field="clearAllButton"
。
在我尝试设置操作的类(ServerTaskSchedulingViewImpl.java
)中,我有以下内容:
interface ServerTaskSchedulingViewImplUiBinder
extends UiBinder<Widget, ServerTaskSchedulingViewImpl> {}
private static final ServerTaskSchedulingViewImplUiBinder uiBinder =
GWT.create(ServerTaskSchedulingViewImplUiBinder.class);
....
....
@UiField
Button clearAllButton;
....
....
@UiHandler("clearAllButton")
void clearAllButtonClicked(ClickEvent clickEvent) {
System.out.println("Button action performed");
}
当我在clearAllButtonClicked
函数中设置断点时,它永远不会被击中。
有谁知道为什么会这样?
答案 0 :(得分:1)
看起来是正确的,但这里的断点永远不会被击中,因为它的所有javascript都在运行。尝试使用SuperDevMode并在浏览器中设置断点。
答案 1 :(得分:0)
修复了问题 - 尽管xml UiField和java变量名称匹配,但我的.xml文件的名称与我的.java类文件的名称不同。将.xml文件的名称更改为JobViewImpl.ui.xml,将类名更改为JobViewImpl.java。这解决了问题