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 / BorderPanel.class (.txt) < prev    next >
Encoding:
Java Class File  |  1997-03-12  |  1.9 KB  |  68 lines

  1. import java.awt.Color;
  2. import java.awt.Component;
  3. import java.awt.Container;
  4. import java.awt.Dimension;
  5. import java.awt.Graphics;
  6. import java.awt.Panel;
  7.  
  8. public class BorderPanel extends Panel {
  9.    protected int shadow = 4;
  10.    protected boolean raised = true;
  11.  
  12.    public BorderPanel() {
  13.       this.raised = true;
  14.    }
  15.  
  16.    public BorderPanel(boolean var1) {
  17.       this.raised = var1;
  18.    }
  19.  
  20.    protected void layoutParent() {
  21.       Container var1 = ((Component)this).getParent();
  22.       if (var1 != null) {
  23.          var1.doLayout();
  24.       }
  25.  
  26.    }
  27.  
  28.    public void paint(Graphics var1) {
  29.       super.paint(var1);
  30.       Dimension var2 = ((Component)this).getSize();
  31.       this.paintBorder(var1, var2);
  32.    }
  33.  
  34.    protected void paintBorder(Graphics var1, Dimension var2) {
  35.       Color var3 = ((Component)this).getBackground();
  36.       var1.setColor(var3);
  37.       var1.fillRect(0, 0, var2.width, var2.height);
  38.       this.draw3DRect(var1, 0, 0, var2.width, var2.height, this.raised);
  39.    }
  40.  
  41.    public void draw3DRect(Graphics var1, int var2, int var3, int var4, int var5, boolean var6) {
  42.       Color var7 = var1.getColor();
  43.       Color var8 = avgColor(var7, Color.white);
  44.       Color var9 = avgColor(var7, Color.black);
  45.       var1.setColor(var6 ? var8 : var9);
  46.  
  47.       for(int var10 = 0; var10 < this.shadow; ++var10) {
  48.          var1.drawLine(var2 + var10, var3 + var10, var2 + var4 - 1 - var10, var3 + var10);
  49.          var1.drawLine(var2 + var10, var3 + var10, var2 + var10, var3 + var5 - 1 - var10);
  50.       }
  51.  
  52.       var1.setColor(var6 ? var9 : var8);
  53.  
  54.       for(int var11 = 0; var11 < this.shadow; ++var11) {
  55.          var1.drawLine(var2 + var11, var3 + var5 - 1 - var11, var2 + var4 - 1 - var11, var3 + var5 - 1 - var11);
  56.          var1.drawLine(var2 + var4 - 1 - var11, var3 + var5 - 1 - var11, var2 + var4 - 1 - var11, var3 + var11);
  57.       }
  58.  
  59.       var1.setColor(var7);
  60.       var1.setColor(Color.black);
  61.       var1.drawRect(var2, var3, var4 + 2, var5 + 2);
  62.    }
  63.  
  64.    public static Color avgColor(Color var0, Color var1) {
  65.       return new Color((var0.getRed() + var1.getRed()) / 2, (var0.getGreen() + var1.getGreen()) / 2, (var0.getBlue() + var1.getBlue()) / 2);
  66.    }
  67. }
  68.