2013-09-30 1 views
1

DialogBox이 숨겨져있을 때마다 메소드를 호출하고 싶습니다. 숨겨진 방법과 상관없이 누군가가 닫기 버튼을 클릭하거나 숨길 수 있습니다. 그렇게되면 시스템은 메소드를 호출합니다.DialogBox가 GWT에서 숨겨 졌을 때 이벤트를 발생시키는 방법은 무엇입니까?

이 코드를 살펴보십시오.

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

내가 closeButton으로를 클릭하면 위의 코드는 작동하지만, DialogBox 자체에 의해 숨겨 때, 아무 일도하지 않습니다.

DialogBox에는 onHide 이벤트가 없습니다.

전통적인 Java에서는 addWindowListener를 사용하여 매우 쉽게 처리 할 수 ​​있지만 GWT DialogBox에서는 빠져 있습니다.

DialogBox이 (가) GWT에 숨겨져있을 때 이벤트를 발생시키는 방법은 무엇입니까?

답변

5

마지막으로 해결책을 찾았습니다.

this.addCloseHandler(new CloseHandler(){ 
    @Override 
    public void onClose(CloseEvent event) { 
     // TODO Auto-generated method stub 
     //do some action here 
    } 
}); 
관련 문제