import java.awt.*;
import java.net.*;
import java.util.*;
import java.applet.*;
public class ImageMap extends Canvas {
Image theMap;
Vector areas;
AppletContext ac;
public ImageMap(Image img, AppletContext browser) {
theMap = img;
// make sure the Image is loading
theMap.getWidth(this);
ac = browser;
areas = new Vector();
}
public void addMapArea(String s) {
if (s.startsWith("rect")) {
try {
RectArea r = new RectArea(s);
areas.addElement(r);
}
catch (MalformedURLException e) {
System.err.println(e);
}
}
else if (s.startsWith("circle")) {
;
}
else if (s.startsWith("poly")) {
;
}
else if (s.startsWith("oval")) {
;
}
else { // unrecognized tag
;
}
}
public boolean mouseDown(Event evt, int x, int y) {
for (Enumeration e = areas.elements() ; e.hasMoreElements() ;) {
MapArea a = (MapArea) e.nextElement();
if (a.contains(x, y)) {
ac.showDocument(a.getURL());
break;
}
}
return true;
}
public void paint(Graphics g) {
if(!g.drawImage(theMap, 0, 0, this)) {
g.drawString("Loading Picture. Please hang on", 25, 50);
}
}
public Dimension minimumSize() {
return new Dimension(theMap.getWidth(this), theMap.getHeight(this));
}
public Dimension preferredSize() {
return minimumSize();
}
}
|