com.google.gwt.user.client.ui.DeckPanel 可以触发哪些事件?

发布于 2024-12-10 16:47:07 字数 493 浏览 0 评论 0原文

也许这是一个蹩脚的问题,但奇怪的是,经过 30 分钟的谷歌搜索,我找不到答案。

com.google.gwt.user.client.ui.DeckPanel 可以触发哪些事件? JavaDoc 说< /a> 它实现了 HasHandlers,但声明为 void fireEvent(GwtEvent event)

我如何知道它需要什么类型,以便我可以通过 DeckPanel.addHandler(H handler, GwtEvent.Typetype) 订阅事件来捕获事件?

具体来说,我想在调用 DeckPanel.showWidget() 时捕获事件。

谢谢你!

Perhaps it's lame question but strangely after 30 mins of googling I can't find the answer.

What events can com.google.gwt.user.client.ui.DeckPanel fire ? JavaDoc says it implements HasHandlers but it's declared as void fireEvent(GwtEvent<?> event).

How do I know what types it expects so I can catch events by subscribing to them via DeckPanel.addHandler(H handler, GwtEvent.Type<H> type) ?

Specifically I want to catch events when DeckPanel.showWidget() is being called.

Thank you!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

爱要勇敢去追 2024-12-17 16:47:07

DeckPanel 本身不会触发任何事件。 Widget 类型实现 addHandler,主要用于通用 DOM 事件支持 - 当 DeckPanel#showWidget() 时没有会触发的内置事件> 被调用。不过,您可以实现自己的:

public class MyDeckPanel extends DeckPanel {
  public HandlerRegistration addShowWidgetHandler(
      ShowWidgetEventHandler handler) {
    return addHandler(handler, ShowWidgetEvent.getType());
  }

  @Override
  public void showWidget(int index) {
    super.showWidget(index);
    fireEvent(new ShowWidgetEvent(index));
  }
}

DeckPanel doesn't fire any events itself. The Widget type implements addHandler, primarily for generic DOM event support - there is no built-in event that will be fired when DeckPanel#showWidget() is called. You can implement your own though:

public class MyDeckPanel extends DeckPanel {
  public HandlerRegistration addShowWidgetHandler(
      ShowWidgetEventHandler handler) {
    return addHandler(handler, ShowWidgetEvent.getType());
  }

  @Override
  public void showWidget(int index) {
    super.showWidget(index);
    fireEvent(new ShowWidgetEvent(index));
  }
}
乙白 2024-12-17 16:47:07

DeckPanel 扩展了 ComplexPanel,因此它只实现了 HasAttachHandlers。因此,默认情况下,您只会收到 AttachEvent,因为它不会接收其他事件。但与任何 HTML 元素一样,您可以使用 addDomHandleraddBitlessDomHandler 使其接收任何本机事件。

DeckPanel extends ComplexPanel, so it only implements HasAttachHandlers. So by default you will only receive the AttachEvent as it sinks no other events. But as in with any HTML element, you can make it sink any of the native events by using addDomHandler and addBitlessDomHandler.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文