home *** CD-ROM | disk | FTP | other *** search
/ S283 Planetary Science &n…he Search for Life DVD 2 / DVD-ROM.iso / install / jre1_3 / lib / rt.jar / javax / swing / border / MatteBorder.class (.txt) < prev    next >
Encoding:
Java Class File  |  1979-12-31  |  2.6 KB  |  148 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(Insets var1, Color var2) {
  19.       super(var1);
  20.       this.color = var2;
  21.    }
  22.  
  23.    public MatteBorder(int var1, int var2, int var3, int var4, Icon var5) {
  24.       super(var1, var2, var3, var4);
  25.       this.tileIcon = var5;
  26.    }
  27.  
  28.    public MatteBorder(Insets var1, Icon var2) {
  29.       super(var1);
  30.       this.tileIcon = var2;
  31.    }
  32.  
  33.    public MatteBorder(Icon var1) {
  34.       this(-1, -1, -1, -1, (Icon)var1);
  35.    }
  36.  
  37.    public void paintBorder(Component var1, Graphics var2, int var3, int var4, int var5, int var6) {
  38.       Insets var7 = this.getBorderInsets(var1);
  39.       Color var8 = var2.getColor();
  40.       var2.translate(var3, var4);
  41.       if (this.tileIcon != null) {
  42.          this.color = this.tileIcon.getIconWidth() == -1 ? Color.gray : null;
  43.       }
  44.  
  45.       if (this.color != null) {
  46.          var2.setColor(this.color);
  47.          var2.fillRect(0, 0, var5 - var7.right, var7.top);
  48.          var2.fillRect(0, var7.top, var7.left, var6 - var7.top);
  49.          var2.fillRect(var7.left, var6 - var7.bottom, var5 - var7.left, var7.bottom);
  50.          var2.fillRect(var5 - var7.right, 0, var7.right, var6 - var7.bottom);
  51.       } else if (this.tileIcon != null) {
  52.          int var9 = this.tileIcon.getIconWidth();
  53.          int var10 = this.tileIcon.getIconHeight();
  54.          Graphics var15 = var2.create();
  55.          var15.setClip(0, 0, var5, var7.top);
  56.  
  57.          for(int var12 = 0; var7.top - var12 > 0; var12 += var10) {
  58.             for(int var11 = 0; var5 - var11 > 0; var11 += var9) {
  59.                this.tileIcon.paintIcon(var1, var15, var11, var12);
  60.             }
  61.          }
  62.  
  63.          var15.dispose();
  64.          var15 = var2.create();
  65.          var15.setClip(0, var7.top, var7.left, var6 - var7.top);
  66.          int var14 = var7.top - var7.top % var10;
  67.          int var13 = 0;
  68.  
  69.          for(int var19 = var14; var6 - var19 > 0; var19 += var10) {
  70.             for(int var16 = var13; var7.left - var16 > 0; var16 += var9) {
  71.                this.tileIcon.paintIcon(var1, var15, var16, var19);
  72.             }
  73.          }
  74.  
  75.          var15.dispose();
  76.          var15 = var2.create();
  77.          var15.setClip(var7.left, var6 - var7.bottom, var5 - var7.left, var7.bottom);
  78.          var14 = var6 - var7.bottom - (var6 - var7.bottom) % var10;
  79.          var13 = var7.left - var7.left % var9;
  80.  
  81.          for(int var20 = var14; var6 - var20 > 0; var20 += var10) {
  82.             for(int var17 = var13; var5 - var17 > 0; var17 += var9) {
  83.                this.tileIcon.paintIcon(var1, var15, var17, var20);
  84.             }
  85.          }
  86.  
  87.          var15.dispose();
  88.          var15 = var2.create();
  89.          var15.setClip(var5 - var7.right, var7.top, var7.right, var6 - var7.top - var7.bottom);
  90.          var14 = var7.top - var7.top % var10;
  91.          var13 = var5 - var7.right - (var5 - var7.right) % var9;
  92.  
  93.          for(int var21 = var14; var6 - var21 > 0; var21 += var10) {
  94.             for(int var18 = var13; var5 - var18 > 0; var18 += var9) {
  95.                this.tileIcon.paintIcon(var1, var15, var18, var21);
  96.             }
  97.          }
  98.  
  99.          var15.dispose();
  100.       }
  101.  
  102.       var2.translate(-var3, -var4);
  103.       var2.setColor(var8);
  104.    }
  105.  
  106.    public Insets getBorderInsets(Component var1) {
  107.       return this.getBorderInsets();
  108.    }
  109.  
  110.    public Insets getBorderInsets(Component var1, Insets var2) {
  111.       return this.computeInsets(var2);
  112.    }
  113.  
  114.    public Insets getBorderInsets() {
  115.       return this.computeInsets(new Insets(0, 0, 0, 0));
  116.    }
  117.  
  118.    private Insets computeInsets(Insets var1) {
  119.       if (this.tileIcon != null && super.top == -1 && super.bottom == -1 && super.left == -1 && super.right == -1) {
  120.          int var2 = this.tileIcon.getIconWidth();
  121.          int var3 = this.tileIcon.getIconHeight();
  122.          var1.top = var3;
  123.          var1.right = var2;
  124.          var1.bottom = var3;
  125.          var1.left = var2;
  126.       } else {
  127.          var1.left = super.left;
  128.          var1.top = super.top;
  129.          var1.right = super.right;
  130.          var1.bottom = super.bottom;
  131.       }
  132.  
  133.       return var1;
  134.    }
  135.  
  136.    public Color getMatteColor() {
  137.       return this.color;
  138.    }
  139.  
  140.    public Icon getTileIcon() {
  141.       return this.tileIcon;
  142.    }
  143.  
  144.    public boolean isBorderOpaque() {
  145.       return this.color != null;
  146.    }
  147. }
  148.