0

私は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について読んだことがありますが、使い方がわかりません。

4

1 に答える 1

2

autoHideフラグを無効にする必要があります。デフォルトの非表示動作は、このフラグによるものです。次のコードスニペットで無効にできます。

simplePopup.setAutoHideEnabled( false );

コンストラクターを使用して無効にすることもできます。

次のようにhideメソッドをオーバーライドすることにより、特定の条件に基づいて非表示を制御できます。

    simplepopup = new PopupPanel( false)
    {
        @Override
        public void hide( boolean autoClosed )
        {
            if( condition met )
            {
                super.hide();
            } 
        }
    };
于 2013-02-21T03:42:15.200 に答える