JMapViewer добавить слушателя мыши в MapMarkerDot
Я пытаюсь добавить слушателя мыши в MapMarker, чтобы при наведении мыши на MapMarker я мог реагировать на событие.
Я реализовал mouseListener, но я не могу добавить слушателя. Проблема в том, что я не нашел способ, которым MapMarker будет добавлять addMouseListener, из-за того, что ни одна из иерархий не реализует JPanel.
Любая помощь приветствуется
1 ответ
Как отмечено здесь, по умолчанию JMapViewer
конструктор использует DefaultMapController
, "который реализует перемещение карты нажатием правой кнопки мыши и масштабирование двойным щелчком мыши или колесом мыши". Чтобы увидеть координаты карты, продлите DefaultMapController
переопределить mouseClicked()
и использовать один из зрителей getPosition()
методы. Вы можете использовать свой контроллер, как показано в комментариях в строке 65 Demo.java
, r30377.
new DefaultMapController(map){
@Override
public void mouseClicked(MouseEvent e) {
System.out.println(map.getPosition(e.getPoint()));
}
};