문제

다음이 무엇을 예상되는 행동인지 아는 사람이 있습니까? 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에는 1.6에 유리판이 있습니다 AWTEventListenerS가 사용됩니다. 보다 BasicPopupMenuUI 자세한 내용은 소스입니다. 마치 (전 세계적으로) 소비되는 이벤트를 중지 할 수있는 것처럼 보입니다.

UIManager.put("PopupMenu.consumeEventOnClose", false);
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top