Java MouseListener - 事件

标签 java swing mouseevent

有谁知道以下是否是触发 MouseEvent 方面的预期行为?其中一颗似乎在其他地方丢失或被消耗掉。

  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 中使用了 AWTEventListener。有关详细信息,请参阅 BasicPopupMenuUI 源。看来您可以(全局)停止使用事件:

UIManager.put("PopupMenu.consumeEventOnClose", false);

关于Java MouseListener - 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/869923/

相关文章:

java - 从 Spring boot 加载多个 Angular 项目

triggers - jQuery .trigger ('click' )在间隔函数内?

c# - 引用多个实例化图片框

java - spring-boot 执行 org.springframework.boot :spring-boot-maven-plugin:1. 4.0.RELEASE:repackage 时缺少必需的类

java - 具有乐观锁定的 Active Record 模式 - 更新前读取与在应用程序中存储版本?

java - 如何以编程方式知道 JButton 文本何时被截断?

java - 删除组件后使框布局居中

java - JApplet Form 如何与 Servlet 通信?

javascript - 覆盖 Edge 上的触摸板滚动

java - 如何在hadoop hdfs中列出目录及其子目录中的所有文件