2

アプリに MenuBar があり、何らかの条件に基づいて無効にする必要があります。setEnabled(boolean) メソッドは GWT MenuBar では使用できないため、この要件を直接進める方法はありません。

例:調べてみるNestedAnchor.setEnabled(boolean enabled)と、そのウィジェットのイベントが無効になり、スタイルも追加されます。ポップアップを表示するためにクリックイベントがトリガーされない MenuBar でも同じ動作をしたいと思います。

また、jqueryでdisabledattrを追加しようとしましたが、まだ成功していません

4

4 に答える 4

2

メニューバーはメニュー項目の入れ物です。コンテナはdisableプロパティをサポートしていません。そのため、yohuはメニュー項目リストを手動で繰り返して、それぞれを無効にする必要があります。以下のコードスニペットは、メニューバーにsetEnableメソッドを追加することでそれを行います-

MenuBar menuBar = new MenuBar()
{
         public void setEnable(boolean enableFl)
         {
              for( MenuItem item : getItems() )
              {
                    item.setEnable( enableFl );
              }
         }
};
于 2013-02-28T13:30:48.943 に答える
1

これは目的を果たします:menuBar.unsinkEvents(Event.MOUSEEVENTS | Event.ONCLICK | Event.FOCUSEVENTS | Event.KEYEVENTS);

于 2013-02-28T11:52:38.417 に答える
1

メニューバーを非表示にすることができます

menuBar.setVisible(false);

メニューバーを有効にしたいときはいつでも menuBar.setVisible(true);

また

スタイルを無効にする場合は、.css ファイルに styleDisable を追加し、スタイルを次のように設定します。

menuBar.setStyleName(styleDisable); 

then check style

if(menuBar.getStyleName().equals("styleDisable")){

// write code here
}
于 2013-02-28T11:22:12.600 に答える
0

次の API を使用できます

DOM.setElementPropertyBoolean(menubar.getElement(), "disabled", !enabled);
于 2013-02-28T11:27:54.910 に答える