home *** CD-ROM | disk | FTP | other *** search
/ Computer Shopper 139 / dpcs0999.iso / Web / CFserver / data1.cab / Java / CFJava.cab / CFJavaRuntime.cab / allaire / controls / CFGRIDActionButton.class (.txt) < prev    next >
Encoding:
Java Class File  |  1999-03-31  |  2.3 KB  |  101 lines

  1. package allaire.controls;
  2.  
  3. import java.awt.Canvas;
  4. import java.awt.Color;
  5. import java.awt.Component;
  6. import java.awt.Dimension;
  7. import java.awt.Event;
  8. import java.awt.Graphics;
  9. import java.awt.Image;
  10. import java.awt.MediaTracker;
  11. import java.awt.image.ImageObserver;
  12.  
  13. class CFGRIDActionButton extends Canvas {
  14.    int edge = 6;
  15.    String action;
  16.    boolean pressed;
  17.    boolean buffered;
  18.    Image actionimage;
  19.    Image bufferimage;
  20.    MediaTracker tracker;
  21.    int width;
  22.    int height;
  23.  
  24.    public boolean mouseExit(Event var1, int var2, int var3) {
  25.       if (this.pressed) {
  26.          this.pressed = false;
  27.          ((Component)this).repaint();
  28.       }
  29.  
  30.       return false;
  31.    }
  32.  
  33.    public void paint(Graphics var1) {
  34.       if (!this.buffered) {
  35.          this.bufferimage = ((Component)this).createImage(this.width, this.height);
  36.          Graphics var2 = this.bufferimage.getGraphics();
  37.          var2.drawImage(this.actionimage, 0, 0, (ImageObserver)null);
  38.          var2.dispose();
  39.          this.buffered = true;
  40.       }
  41.  
  42.       int var4 = this.pressed ? this.edge : 3;
  43.       var1.drawImage(this.bufferimage, var4, var4, this.width, this.height, (ImageObserver)null);
  44.       Dimension var3 = ((Component)this).size();
  45.       if (this.pressed) {
  46.          var1.drawLine(0, 0, var3.width - 1, 0);
  47.          var1.drawLine(0, 0, 0, var3.height - 1);
  48.          var1.setColor(Color.gray);
  49.          var1.drawLine(1, 1, var3.width - 1, 1);
  50.          var1.drawLine(1, 1, 1, var3.height - 1);
  51.          var1.setColor(Color.white);
  52.          var1.drawLine(var3.width - 1, 0, var3.width - 1, var3.height - 1);
  53.          var1.drawLine(0, var3.height - 1, var3.width - 1, var3.height - 1);
  54.       } else {
  55.          var1.drawLine(var3.width - 1, 0, var3.width - 1, var3.height - 1);
  56.          var1.drawLine(0, var3.height - 1, var3.width - 1, var3.height - 1);
  57.          var1.setColor(Color.gray);
  58.          var1.drawLine(var3.width - 2, 0, var3.width - 2, var3.height - 2);
  59.          var1.drawLine(0, var3.height - 2, var3.width - 2, var3.height - 2);
  60.          var1.setColor(Color.white);
  61.          var1.drawLine(0, 0, var3.width - 1, 0);
  62.          var1.drawLine(0, 0, 0, var3.height - 1);
  63.       }
  64.  
  65.       var1.setColor(Color.black);
  66.    }
  67.  
  68.    public boolean mouseUp(Event var1, int var2, int var3) {
  69.       if (this.pressed) {
  70.          this.pressed = false;
  71.          ((Component)this).repaint();
  72.          Event var4 = new Event(this, 1001, this.action);
  73.          ((Component)this).getParent().postEvent(var4);
  74.          return true;
  75.       } else {
  76.          return false;
  77.       }
  78.    }
  79.  
  80.    CFGRIDActionButton(String var1, Image var2) {
  81.       this.actionimage = var2;
  82.       this.action = var1;
  83.       ((Component)this).setBackground(Color.lightGray);
  84.       this.tracker = new MediaTracker(this);
  85.       this.tracker.addImage(this.actionimage, 0);
  86.  
  87.       try {
  88.          this.tracker.waitForID(0);
  89.          this.width = this.actionimage.getWidth((ImageObserver)null);
  90.          this.height = this.actionimage.getHeight((ImageObserver)null);
  91.       } catch (InterruptedException var3) {
  92.       }
  93.    }
  94.  
  95.    public boolean mouseDown(Event var1, int var2, int var3) {
  96.       this.pressed = true;
  97.       ((Component)this).repaint();
  98.       return true;
  99.    }
  100. }
  101.