JMapViewer将鼠标侦听器添加到MapMarkerDot

我正在尝试向MapMarker添加鼠标监听器,这样当鼠标hover在MapMarker上时,我就可以对事件做出反应。

我实现了mouseListener,但我无法真正添加一个监听器。 问题是我没有找到MapMarker将addMouseListener的方法,因为层次结构的非实现JPanel。

任何帮助赞赏

如上所述,默认的JMapViewer构造函数使用DefaultMapController ,“通过按下鼠标右键并通过双击或鼠标滚轮进行缩放来实现地图移动。” 要查看地图坐标,请扩展DefaultMapController ,覆盖mouseClicked()并使用其中一个查看器的getPosition()方法。 您可以使用您的控制器,如Demo.java ,r30377第65行的注释所示。

  new DefaultMapController(map){ @Override public void mouseClicked(MouseEvent e) { System.out.println(map.getPosition(e.getPoint())); } };