JMenuItem在屏幕中的坐标好像不能通过普通的 SwingUtilities.convertPointToScreen 工具方法来转换,因为其 parent 为 null
但是现在我需要用鼠标坐标来判断鼠标事件是否在这个菜单项上发生,所以需要其相对屏幕的位置来支持这种功能。像JButton等都可以很容易转换出相对屏幕或者其它空间的相对坐标,想请教下高手这里的JMenuItem可以通过什么方式来获得,不胜感激!

解决方案 »

  1.   

    判断鼠标事件是否在这个菜单项上发生 ,可以用事件的getSource()方法嘛!
      如要判断是否是点击落的item1可以添加鼠标MouseClick(MouseEvent e),然后用e.getSource()==item1否来判断是否是点的item1;
      

  2.   

    JMenuItem的parent是Popup, Popup没有坐标么?
    Popup是没有Parent的, 要用Invoker来找到谁是父亲
      

  3.   

    用 invoker 怎么样找到父亲?如果能够取到其父亲可能可以根据相对坐标去获取鼠标操作信息。对于怎么样判断是那个 item 被点到的方法肯定很多,但是我这里只讨论怎么样使用鼠标位置定位!