当DialogBox被隐藏在GWT中时如何触发事件?

Kit*_*iti 1 gwt dialog gwtp

每当我DialogBox被隐藏时,我想调用一个方法.无论它是如何被隐藏的,它可能是某人点击关闭按钮或它可以自己隐藏.当发生这种情况时,系统将调用方法.

看看这段代码.

public class WishListDialogBox extends DialogBox {
    @UiField Button closeButton;
    public WishListDialogBox() {
        setHTML("Wish List");
        setWidget(uiBinder.createAndBindUi(this));
        closeButton.addClickHandler(new ClickHandler(){

            @Override
            public void onClick(ClickEvent event) {

                hide();
            }

        });
    }

    @Override
    public void hide() {
        super.hide();
        //call some action here;
    }
}
Run Code Online (Sandbox Code Playgroud)

上面的代码仅在我单击CloseButton时才起作用,但当DialogBox它本身隐藏时,没有任何反应.

没有onHide事件DialogBox.

在传统的Java中,有一个addWindowListener可以很容易地处理他,但GWT中缺少这个DialogBox.

那么,当DialogBox隐藏一个事件时如何触发事件GWT

Kit*_*iti 5

最后我找到了解决方案

this.addCloseHandler(new CloseHandler(){
    @Override
    public void onClose(CloseEvent event) {
        // TODO Auto-generated method stub
        //do some action here
    }
});
Run Code Online (Sandbox Code Playgroud)