Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/343.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java com.google.gwt.user.client.ui.DeckPanel可以触发哪些事件?_Java_Events_Gwt_Handler - Fatal编程技术网

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

Java com.google.gwt.user.client.ui.DeckPanel可以触发哪些事件?,java,events,gwt,handler,Java,Events,Gwt,Handler,也许这是个蹩脚的问题,但奇怪的是,在谷歌搜索了30分钟后,我找不到答案 com.google.gwt.user.client.ui.DeckPanel可以触发哪些事件?它实现了HashHandler,但声明为void fireEvent(GwtEvent事件) 我如何知道它需要什么类型,以便通过DeckPanel.addHandler(H handler,GwtEvent.Type)订阅事件来捕获事件 具体来说,我希望在调用DeckPanel.showWidget()时捕获事件 谢谢大家! De

也许这是个蹩脚的问题,但奇怪的是,在谷歌搜索了30分钟后,我找不到答案

com.google.gwt.user.client.ui.DeckPanel可以触发哪些事件?它实现了HashHandler,但声明为
void fireEvent(GwtEvent事件)

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

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


谢谢大家!

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

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));
  }
}