【问题标题】:JMapViewer add mouse listener to MapMarkerDotJMapViewer 将鼠标侦听器添加到 MapMarkerDot
【发布时间】:2014-08-26 15:08:37
【问题描述】:
我正在尝试向 MapMarker 添加鼠标侦听器,以便当鼠标悬停在 MapMarker 上时,我可以对事件做出反应。
我实现了 mouseListener,但我无法真正添加监听器。
问题是我没有找到 MapMarker 将 addMouseListener 的方法,因为没有层次结构实现 JPanel。
任何帮助表示赞赏
【问题讨论】:
标签:
java
mouseover
jmapviewer
【解决方案1】:
如here 所述,默认的JMapViewer 构造函数使用DefaultMapController,“它实现了按鼠标右键移动地图并通过双击或鼠标滚轮进行缩放。”要查看地图坐标,请扩展 DefaultMapController、覆盖 mouseClicked() 并使用查看器的 getPosition() 方法之一。您可以使用Demo.java, r30377 第 65 行的 cmets 中所示的控制器。
new DefaultMapController(map){
@Override
public void mouseClicked(MouseEvent e) {
System.out.println(map.getPosition(e.getPoint()));
}
};