home *** CD-ROM | disk | FTP | other *** search
/ Cre@te Online 2000 December / Cre@teOnline CD05.iso / MacSoft / XML ConsoleMax.sea / XML ConsoleMax / Required / swingall.jar / javax / swing / border / MatteBorder.class (.txt) < prev    next >
Encoding:
Java Class File  |  1999-07-15  |  2.5 KB  |  123 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.       Insets var2 = new Insets(0, 0, 0, 0);
  29.       return this.getBorderInsets(var1, var2);
  30.    }
  31.  
  32.    public Insets getBorderInsets(Component var1, Insets var2) {
  33.       if (this.tileIcon != null && super.top == -1 && super.bottom == -1 && super.left == -1 && super.right == -1) {
  34.          int var3 = this.tileIcon.getIconWidth();
  35.          int var4 = this.tileIcon.getIconHeight();
  36.          var2.top = var4;
  37.          var2.right = var3;
  38.          var2.bottom = var4;
  39.          var2.left = var3;
  40.       } else {
  41.          var2.left = super.left;
  42.          var2.top = super.top;
  43.          var2.right = super.right;
  44.          var2.bottom = super.bottom;
  45.       }
  46.  
  47.       return var2;
  48.    }
  49.  
  50.    public boolean isBorderOpaque() {
  51.       return this.color != null;
  52.    }
  53.  
  54.    public void paintBorder(Component var1, Graphics var2, int var3, int var4, int var5, int var6) {
  55.       Insets var7 = this.getBorderInsets(var1);
  56.       Color var8 = var2.getColor();
  57.       var2.translate(var3, var4);
  58.       if (this.tileIcon != null) {
  59.          this.color = this.tileIcon.getIconWidth() == -1 ? Color.gray : null;
  60.       }
  61.  
  62.       if (this.color != null) {
  63.          var2.setColor(this.color);
  64.          var2.fillRect(0, 0, var5 - var7.right, var7.top);
  65.          var2.fillRect(0, var7.top, var7.left, var6 - var7.top);
  66.          var2.fillRect(var7.left, var6 - var7.bottom, var5 - var7.left, var7.bottom);
  67.          var2.fillRect(var5 - var7.right, 0, var7.right, var6 - var7.bottom);
  68.       } else if (this.tileIcon != null) {
  69.          int var9 = this.tileIcon.getIconWidth();
  70.          int var10 = this.tileIcon.getIconHeight();
  71.          Graphics var15 = var2.create();
  72.          var15.setClip(0, 0, var5, var7.top);
  73.  
  74.          for(int var12 = 0; var7.top - var12 > 0; var12 += var10) {
  75.             for(int var11 = 0; var5 - var11 > 0; var11 += var9) {
  76.                this.tileIcon.paintIcon(var1, var15, var11, var12);
  77.             }
  78.          }
  79.  
  80.          var15.dispose();
  81.          var15 = var2.create();
  82.          var15.setClip(0, var7.top, var7.left, var6 - var7.top);
  83.          int var14 = var7.top - var7.top % var10;
  84.          int var13 = 0;
  85.  
  86.          for(int var19 = var14; var6 - var19 > 0; var19 += var10) {
  87.             for(int var16 = var13; var7.left - var16 > 0; var16 += var9) {
  88.                this.tileIcon.paintIcon(var1, var15, var16, var19);
  89.             }
  90.          }
  91.  
  92.          var15.dispose();
  93.          var15 = var2.create();
  94.          var15.setClip(var7.left, var6 - var7.bottom, var5 - var7.left, var7.bottom);
  95.          var14 = var6 - var7.bottom - (var6 - var7.bottom) % var10;
  96.          var13 = var7.left - var7.left % var9;
  97.  
  98.          for(int var20 = var14; var6 - var20 > 0; var20 += var10) {
  99.             for(int var17 = var13; var5 - var17 > 0; var17 += var9) {
  100.                this.tileIcon.paintIcon(var1, var15, var17, var20);
  101.             }
  102.          }
  103.  
  104.          var15.dispose();
  105.          var15 = var2.create();
  106.          var15.setClip(var5 - var7.right, var7.top, var7.right, var6 - var7.top - var7.bottom);
  107.          var14 = var7.top - var7.top % var10;
  108.          var13 = var5 - var7.right - (var5 - var7.right) % var9;
  109.  
  110.          for(int var21 = var14; var6 - var21 > 0; var21 += var10) {
  111.             for(int var18 = var13; var5 - var18 > 0; var18 += var9) {
  112.                this.tileIcon.paintIcon(var1, var15, var18, var21);
  113.             }
  114.          }
  115.  
  116.          var15.dispose();
  117.       }
  118.  
  119.       var2.translate(-var3, -var4);
  120.       var2.setColor(var8);
  121.    }
  122. }
  123.