package sample7_swingwaypoints;
import org.jxmapviewer.viewer.DefaultWaypoint;
import org.jxmapviewer.viewer.GeoPosition;
import javax.swing.*;
import java.awt.*;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
/**
* A waypoint that is represented by a button on the map.
*
* @author Daniel Stahr
*/
public class SwingWaypoint extends DefaultWaypoint {
private final JButton button;
private final String text;
public SwingWaypoint(String text, GeoPosition coord) {
super(coord);
this.text = text;
button = new JButton(text.substring(0, 1));
button.setSize(24, 24);
button.setPreferredSize(new Dimension(24, 24));
button.addMouseListener(new SwingWaypointMouseListener());
button.setVisible(true);
}
JButton getButton() {
return button;
}
private class SwingWaypointMouseListener implements MouseListener {
@Override
public void mouseClicked(MouseEvent e) {
JOptionPane.showMessageDialog(button, "You clicked on " + text);
}
@Override
public void mousePressed(MouseEvent e) {
}
@Override
public void mouseReleased(MouseEvent e) {
}
@Override
public void mouseEntered(MouseEvent e) {
}
@Override
public void mouseExited(MouseEvent e) {
}
}
}