gpt4 book ai didi

java - @UiHandler 的文档

转载 作者:IT老高 更新时间:2023-10-28 20:34:11 25 4
gpt4 key购买 nike

我开始考虑将 GWT 与 UiBuilder 结合使用。我对如何使用 @UiHandler(..) 指令来制作简单的事件句柄代码感到有些困惑,正如 GWT documentation 中所写的那样。 :

@UiHandler("button")
void handleClick(ClickEvent e) {
Window.alert("Hello, AJAX");
}

在这种情况下,使用方法 handleClick。您如何知道每个 GWT 小部件可以使用 @UiHandler 创建哪些方法?对于某些人,您还可以创建一个 doClose() 方法。

但是你可以用什么来获得一个事件,例如,一个 ListBox 来获得一个项目被选中的事件?我可以在文档的哪里看到这个?

最佳答案

您传递给@UiHandler 注释的参数是您要分配给该*Handler 的相应字段的名称。因此,在这种情况下,您将 ClickHandler 分配给 Button 按钮(实际上,我们只知道字段的名称)。

至于这到底是如何工作的——它是 GWT 魔法的一部分 :) 我的猜测是,就像任何其他 UiBinder 相关代码一样(我认为 Google IO 上有一个演示文稿,显示了 UiBinder 生成的代码),在编译时间编译器计算出什么去哪里。在这个例子中:我们有一个 Button 按钮,我们有一个 @UiHandler 注释方法,它有一个 ClickEvent 参数 -> must 表示它是一个 ClickHandler (请注意,方法的名称 无关)。因此,让我们在编译时(可能在构造函数中)添加一些代码,将处理程序添加到按钮。如果您对更全面的答案感兴趣 - 请查看来源:D

But what can you use with, for instance, a ListBox to get an event an item is selected? Where in the documentation can I see this?

GWT API reference .在这种情况下,您可能正在寻找 ListBox.addChangeHandler .但是你通常不会在那里找到与 @UiHandler 相关的代码——那是因为它是多余的——你总是以同样的方式构造 @UiHandler 方法:

  1. 您检查要添加的 *Handler,例如 ChangeHandler
  2. 它有一个 void onChange(ChangeEvent event) - 所以,你的方法需要一个 ChangeEvent 参数,应该如下所示:

    @UiHandler("listBox")
    void whateverName(ChangeEvent event) {
    // ...
    }

关于java - @UiHandler 的文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3440763/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com