2014-07-05 119 views
3

我想添加一個鼠標監聽器到MapMarker,這樣當鼠標懸停MapMarker時,我可以對事件做出反應。JMapViewer添加鼠標監聽器到MapMarkerDot

我實現了mouseListener,但我無法真正添加一個偵聽器。 問題是,我沒有找到MapMarker將addMouseListener的方式,因爲非層次結構實現JPanel。

任何幫助理解

+0

閱讀你在那裏發佈的答案,它是重複的。謝謝! –

+0

您可以添加它作爲答案,我會批准它。 –

回答

3

如上所述here,默認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())); 
    } 
};