我有一个PopupPanel
private PopupPanel simplePopup;
弹出窗口在应用中打开。当用户在其外部单击时,弹出窗口将关闭。这是默认行为。我想覆盖该行为,如果满足条件,请勿关闭弹出窗口。我有类似的想法:
simplePopup.addCloseHandler(new CloseHandler<PopupPanel>() {
@Override
public void onClose(CloseEvent<PopupPanel> arg0) {
if (conditionIsMet) {
// do something here to avoid closing the popup
}
}
});
但我不知道如何防止弹出窗口关闭。我已经阅读了有关 onPreviewNativeEvent 的内容,但我不知道如何使用它。
答案 0 :(得分:2)
您需要禁用autoHide标志。默认的隐藏行为是由此标志引起的。您可以使用以下代码段禁用它。
simplePopup.setAutoHideEnabled( false );
您也可以通过构造函数禁用它。
您可以通过将hide方法重写为
来根据某些条件控制隐藏 simplepopup = new PopupPanel( false)
{
@Override
public void hide( boolean autoClosed )
{
if( condition met )
{
super.hide();
}
}
};