home *** CD-ROM | disk | FTP | other *** search
/ Symantec Visual Cafe for Java 2.5 / symantec-visual-cafe-2.5-database-dev-edition.iso / VCafe / WDESAMPL.BIN / HrefButtonArea.class (.txt) < prev    next >
Encoding:
Java Class File  |  1996-11-19  |  2.3 KB  |  76 lines

  1. import java.awt.Graphics;
  2. import java.awt.Image;
  3. import java.net.MalformedURLException;
  4. import java.net.URL;
  5.  
  6. class HrefButtonArea extends ImageMapArea {
  7.    URL anchor;
  8.    Image upImage;
  9.    Image downImage;
  10.    boolean pressed = false;
  11.    int border = 5;
  12.  
  13.    public void handleArg(String var1) {
  14.       try {
  15.          this.anchor = new URL(super.parent.getDocumentBase(), var1);
  16.       } catch (MalformedURLException var2) {
  17.          this.anchor = null;
  18.       }
  19.  
  20.       if (this.border * 2 > super.W || this.border * 2 > super.H) {
  21.          this.border = Math.min(super.W, super.H) / 2;
  22.       }
  23.  
  24.    }
  25.  
  26.    public void makeImages() {
  27.       this.upImage = super.parent.getHighlight(super.X, super.Y, super.W, super.H, new ButtonFilter(false, super.parent.hlpercent, this.border, super.W, super.H));
  28.       this.downImage = super.parent.getHighlight(super.X, super.Y, super.W, super.H, new ButtonFilter(true, super.parent.hlpercent, this.border, super.W, super.H));
  29.    }
  30.  
  31.    public boolean imageUpdate(Image var1, int var2, int var3, int var4, int var5, int var6) {
  32.       if (var1 == (this.pressed ? this.downImage : this.upImage)) {
  33.          return super.parent.imageUpdate(var1, var2, var3 + super.X, var4 + super.Y, var5, var6);
  34.       } else {
  35.          return var1 == this.downImage || var1 == this.upImage;
  36.       }
  37.    }
  38.  
  39.    public boolean isTerminal() {
  40.       return true;
  41.    }
  42.  
  43.    public void highlight(Graphics var1) {
  44.       if (super.entered) {
  45.          var1.drawImage(this.pressed ? this.downImage : this.upImage, super.X, super.Y, this);
  46.       }
  47.  
  48.    }
  49.  
  50.    public void enter() {
  51.       ((ImageMapArea)this).showStatus(this.anchor != null ? "Go To " + this.anchor.toExternalForm() : null);
  52.       ((ImageMapArea)this).repaint();
  53.    }
  54.  
  55.    public void exit() {
  56.       ((ImageMapArea)this).showStatus((String)null);
  57.       ((ImageMapArea)this).repaint();
  58.    }
  59.  
  60.    public boolean press() {
  61.       this.pressed = true;
  62.       ((ImageMapArea)this).repaint();
  63.       return true;
  64.    }
  65.  
  66.    public boolean lift(int var1, int var2) {
  67.       this.pressed = false;
  68.       ((ImageMapArea)this).repaint();
  69.       if (((ImageMapArea)this).inside(var1, var2) && this.anchor != null) {
  70.          ((ImageMapArea)this).showDocument(this.anchor);
  71.       }
  72.  
  73.       return true;
  74.    }
  75. }
  76.