3

マウス リスナーを MapMarker に追加しようとしています。これにより、マウスが MapMarker の上に置かれたときにイベントに反応できるようになります。

mouseListener を実装しましたが、実際にはリスナーを追加できません。問題は、どの階層にも JPanel が実装されていないため、MapMarker が MouseListener を追加する方法を見つけられなかったことです。

どんな助けでも大歓迎

4

1 に答える 1

3

hereに記載されているように、デフォルトのJMapViewerコンストラクターはDefaultMapController、「マウスの右ボタンを押すことによるマップの移動と、ダブルクリックまたはマウス ホイールによるズームを実装する」を使用します。マップ座標を表示するには、ビューアーのメソッドの 1 つを拡張DefaultMapControllerし、オーバーライドして使用します。r30377の 65 行目のコメントに示されているように、コントローラを使用できます。mouseClicked()getPosition()Demo.java

 new DefaultMapController(map){

    @Override
    public void mouseClicked(MouseEvent e) {
        System.out.println(map.getPosition(e.getPoint()));
    }
};
于 2014-07-10T23:51:08.670 に答える