質問

いて"知の場合、下記のとさせていただく予定行動のう MouseEvents焼?ているようにするには、消費されます。

  1. 右クリック JPanel 表示 JPopupMenu:

    MousePressed java.awt.event.MouseEvent[MOUSE_PRESSED,
      (469,347),absolute(2214,490),button=3,modifiers=Meta+Button3,
      extModifiers=Button3,clickCount=1]
    
    MouseReleased java.awt.event.MouseEvent[MOUSE_RELEASED,
      (469,347),absolute(2214,490),button=3,modifiers=Meta+Button3,
      extModifiers=Meta,clickCount=1]
    
    MouseClicked java.awt.event.MouseEvent[MOUSE_CLICKED,
      (469,347),absolute(2214,490),button=3,modifiers=Meta+Button3,
      extModifiers=Meta,clickCount=1]
    

    このすべての3つのボタンから3に正しい順序で保持する

  2. JPopupMenu しましたが左クリックのどこかに JPanel ていない JPopupMenu:

    何があったの MousePressed イベント?

    MouseReleased java.awt.event.MouseEvent[MOUSE_RELEASED,
      (452,339),absolute(2197,482),button=1,modifiers=Button1,clickCount=1]
    
    MouseClicked java.awt.event.MouseEvent[MOUSE_CLICKED,
      (452,339),absolute(2197,482),button=1,modifiers=Button1,clickCount=1]
    

よろしくお願いします。

役に立ちましたか?

解決

閉じるには、ポップアップメニューの原因となる事象が消えてしまったので。

IIRCが、これは実装されている正確にどのように1.5から1.6に変更しました。 1.5でのglassPaneは1.6 AWTEventListenersが使用されている中で、そこにあります。詳細については、BasicPopupMenuUIソースを参照してください。あなたは(グローバル)で消費されているイベントを停止することができているかのように見えます:

UIManager.put("PopupMenu.consumeEventOnClose", false);
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top