3

GWT初心者です。にmenubarポップアップする がありLabel clickます。ユーザーがラベルを表示する原因となったラベル以外の画面上の任意の場所をクリックしたときにそれを削除する必要があります (法的) このイベントをフックするなど、さまざまな方法を試しました

RootPanel.get().addDomHandler(clickDetectHandler, ClickEvent.getType());

public void onClick(ClickEvent event) {
            Object source = event.getSource();
            if (!(source instanceof MenuBar))
                  panel.remove(menu);

ここに画像の説明を入力

を使ってみましたMouseOutEventが、クリックが検出されません。に戻ってクリックするだけで削除できますlegal label。しかし、画面上のクリックを検出したら削除する必要があります。お知らせ下さい。

4

2 に答える 2

1

GWT には、必要な動作を正確に自動的に処理する PopupPanel というパネルがあります。javadoc からの引用:

"PopupPanel のコンストラクターは、そのブール値パラメーターとして「auto-hide」を受け取ります。これが設定されている場合、ユーザーがパネルの外側をクリックすると、パネルは自動的に閉じます。"

PopupPanel 内にポップアップ メニューを表示することは可能ですか?

http://google-web-toolkit.googlecode.com/svn/javadoc/2.5/com/google/gwt/user/client/ui/PopupPanel.html

于 2013-01-22T22:42:40.813 に答える
-1

このGWT サンプルを見てください。これはあなたが説明した動作をしているようです。ソースコードが付属しています。

または、メニュー ウィジェットでぼかしイベントの処理を試すこともできます。

于 2013-01-22T23:32:03.257 に答える