JMapViewer将鼠标侦听器添加到MapMarkerDot

时间:2014-07-05 16:37:54

标签: java mouseover jmapviewer

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

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

任何帮助表示赞赏

1 个答案:

答案 0 :(得分:3)

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

 new DefaultMapController(map){

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