home *** CD-ROM | disk | FTP | other *** search
/ Computer Shopper 144 / DPCS0200.iso / Internet / Supanet / system / swing.jar / javax / swing / border / MatteBorder.class (.txt) < prev    next >
Encoding:
Java Class File  |  1998-11-05  |  2.4 KB  |  110 lines

  1. package javax.swing.border;
  2.  
  3. import java.awt.Color;
  4. import java.awt.Component;
  5. import java.awt.Graphics;
  6. import java.awt.Insets;
  7. import javax.swing.Icon;
  8.  
  9. public class MatteBorder extends EmptyBorder {
  10.    protected Color color;
  11.    protected Icon tileIcon;
  12.  
  13.    public MatteBorder(int var1, int var2, int var3, int var4, Color var5) {
  14.       super(var1, var2, var3, var4);
  15.       this.color = var5;
  16.    }
  17.  
  18.    public MatteBorder(int var1, int var2, int var3, int var4, Icon var5) {
  19.       super(var1, var2, var3, var4);
  20.       this.tileIcon = var5;
  21.    }
  22.  
  23.    public MatteBorder(Icon var1) {
  24.       this(-1, -1, -1, -1, (Icon)var1);
  25.    }
  26.  
  27.    public Insets getBorderInsets(Component var1) {
  28.       if (this.tileIcon != null && super.top == -1 && super.bottom == -1 && super.left == -1 && super.right == -1) {
  29.          int var2 = this.tileIcon.getIconWidth();
  30.          int var3 = this.tileIcon.getIconHeight();
  31.          return new Insets(var3, var2, var3, var2);
  32.       } else {
  33.          return new Insets(super.top, super.left, super.bottom, super.right);
  34.       }
  35.    }
  36.  
  37.    public boolean isBorderOpaque() {
  38.       return this.color != null;
  39.    }
  40.  
  41.    public void paintBorder(Component var1, Graphics var2, int var3, int var4, int var5, int var6) {
  42.       Insets var7 = this.getBorderInsets(var1);
  43.       Color var8 = var2.getColor();
  44.       var2.translate(var3, var4);
  45.       if (this.tileIcon != null) {
  46.          this.color = this.tileIcon.getIconWidth() == -1 ? Color.gray : null;
  47.       }
  48.  
  49.       if (this.color != null) {
  50.          var2.setColor(this.color);
  51.          var2.fillRect(0, 0, var5 - var7.right, var7.top);
  52.          var2.fillRect(0, var7.top, var7.left, var6 - var7.top);
  53.          var2.fillRect(var7.left, var6 - var7.bottom, var5 - var7.left, var7.bottom);
  54.          var2.fillRect(var5 - var7.right, 0, var7.right, var6 - var7.bottom);
  55.       } else if (this.tileIcon != null) {
  56.          int var9 = this.tileIcon.getIconWidth();
  57.          int var10 = this.tileIcon.getIconHeight();
  58.          Graphics var15 = var2.create();
  59.          var15.setClip(0, 0, var5, var7.top);
  60.  
  61.          for(int var12 = 0; var7.top - var12 > 0; var12 += var10) {
  62.             for(int var11 = 0; var5 - var11 > 0; var11 += var9) {
  63.                this.tileIcon.paintIcon(var1, var15, var11, var12);
  64.             }
  65.          }
  66.  
  67.          var15.dispose();
  68.          var15 = var2.create();
  69.          var15.setClip(0, var7.top, var7.left, var6 - var7.top);
  70.          int var14 = var7.top - var7.top % var10;
  71.          int var13 = 0;
  72.  
  73.          for(int var19 = var14; var6 - var19 > 0; var19 += var10) {
  74.             for(int var16 = var13; var7.left - var16 > 0; var16 += var9) {
  75.                this.tileIcon.paintIcon(var1, var15, var16, var19);
  76.             }
  77.          }
  78.  
  79.          var15.dispose();
  80.          var15 = var2.create();
  81.          var15.setClip(var7.left, var6 - var7.bottom, var5 - var7.left, var7.bottom);
  82.          var14 = var6 - var7.bottom - (var6 - var7.bottom) % var10;
  83.          var13 = var7.left - var7.left % var9;
  84.  
  85.          for(int var20 = var14; var6 - var20 > 0; var20 += var10) {
  86.             for(int var17 = var13; var5 - var17 > 0; var17 += var9) {
  87.                this.tileIcon.paintIcon(var1, var15, var17, var20);
  88.             }
  89.          }
  90.  
  91.          var15.dispose();
  92.          var15 = var2.create();
  93.          var15.setClip(var5 - var7.right, var7.top, var7.right, var6 - var7.top - var7.bottom);
  94.          var14 = var7.top - var7.top % var10;
  95.          var13 = var5 - var7.right - (var5 - var7.right) % var9;
  96.  
  97.          for(int var21 = var14; var6 - var21 > 0; var21 += var10) {
  98.             for(int var18 = var13; var5 - var18 > 0; var18 += var9) {
  99.                this.tileIcon.paintIcon(var1, var15, var18, var21);
  100.             }
  101.          }
  102.  
  103.          var15.dispose();
  104.       }
  105.  
  106.       var2.translate(-var3, -var4);
  107.       var2.setColor(var8);
  108.    }
  109. }
  110.