我正在尝试将鼠标侦听器添加到MapMarker,以便当鼠标将鼠标悬停在MapMarker上时,我可以对事件做出反应。
我实现了mouseListener,但是我不能真正添加一个监听器。问题是由于没有层次结构实现JPanel,所以我没有找到MapMarker添加addMouseListener的方法。
任何帮助表示赞赏
如前所述这里,默认的JMapViewer构造函数使用了DefaultMapController“这实现了Map按鼠标右键,并通过双击或通过鼠标滚轮缩放移动。” 要查看地图坐标,请扩展DefaultMapController,覆盖mouseClicked()并使用查看者的getPosition()方法之一。您可以使用Demo.javar30377的第65行的注释中所示的控制器。
JMapViewer
DefaultMapController
mouseClicked()
getPosition()
Demo.java
new DefaultMapController(map){ @Override public void mouseClicked(MouseEvent e) { System.out.println(map.getPosition(e.getPoint())); } };