home *** CD-ROM | disk | FTP | other *** search
/ PC Plus SuperCD (UK) 2000 March / pcp161a.iso / handson / files / copyjava.exe / com / sun / java / swing / plaf / metal / MetalIconFactory$InternalFrameCloseIcon.class (.txt) < prev    next >
Encoding:
Java Class File  |  1998-02-26  |  4.3 KB  |  76 lines

  1. package com.sun.java.swing.plaf.metal;
  2.  
  3. import com.sun.java.swing.ButtonModel;
  4. import com.sun.java.swing.Icon;
  5. import com.sun.java.swing.JButton;
  6. import com.sun.java.swing.plaf.UIResource;
  7. import java.awt.Color;
  8. import java.awt.Component;
  9. import java.awt.Graphics;
  10. import java.io.Serializable;
  11.  
  12. class MetalIconFactory$InternalFrameCloseIcon implements Icon, UIResource, Serializable {
  13.    JButton parentButton;
  14.    ButtonModel buttonModel;
  15.    Color backgroundColor;
  16.    Color titleColor;
  17.    Color edgeColor;
  18.    Color slashColor;
  19.    Color downRightHighlight;
  20.    Color upLeftHighlight;
  21.  
  22.    public void paintIcon(Component var1, Graphics var2, int var3, int var4) {
  23.       this.parentButton = (JButton)var1;
  24.       this.buttonModel = this.parentButton.getModel();
  25.       this.downRightHighlight = MetalLookAndFeel.getPrimaryControlHighlight();
  26.       this.upLeftHighlight = MetalLookAndFeel.getPrimaryControlShadow();
  27.       this.backgroundColor = MetalLookAndFeel.getPrimaryControl();
  28.       this.titleColor = MetalLookAndFeel.getPrimaryControlShadow();
  29.       this.edgeColor = MetalLookAndFeel.getPrimaryControlInfo();
  30.       this.slashColor = MetalLookAndFeel.getPrimaryControlDarkShadow();
  31.       if (this.parentButton.getClientProperty("paintActive") != Boolean.TRUE) {
  32.          this.downRightHighlight = MetalLookAndFeel.getControlHighlight();
  33.          this.upLeftHighlight = MetalLookAndFeel.getControlShadow();
  34.          this.backgroundColor = MetalLookAndFeel.getControl();
  35.          this.titleColor = MetalLookAndFeel.getControlShadow();
  36.          this.slashColor = MetalLookAndFeel.getControlDarkShadow();
  37.       } else if (this.buttonModel.isPressed() && this.buttonModel.isArmed()) {
  38.          this.backgroundColor = MetalLookAndFeel.getPrimaryControlShadow();
  39.          this.titleColor = MetalLookAndFeel.getPrimaryControlDarkShadow();
  40.          this.slashColor = MetalLookAndFeel.getPrimaryControlInfo();
  41.       }
  42.  
  43.       var2.translate(var3, var4);
  44.       var2.setColor(this.backgroundColor);
  45.       var2.fillRect(0, 0, 12, 12);
  46.       var2.setColor(this.downRightHighlight);
  47.       var2.drawLine(1, 11, 11, 11);
  48.       var2.drawLine(11, 1, 11, 11);
  49.       var2.setColor(this.upLeftHighlight);
  50.       var2.drawLine(0, 0, 0, 10);
  51.       var2.drawLine(0, 0, 10, 0);
  52.       var2.setColor(this.titleColor);
  53.       var2.fillRect(2, 2, 6, 2);
  54.       var2.setColor(this.edgeColor);
  55.       var2.drawRect(1, 1, 9, 9);
  56.       var2.setColor(this.slashColor);
  57.       var2.drawLine(2, 4, 5, 4);
  58.       var2.fillRect(2, 8, 2, 2);
  59.       var2.fillRect(3, 7, 2, 2);
  60.       var2.fillRect(4, 6, 2, 2);
  61.       var2.fillRect(5, 5, 2, 2);
  62.       var2.fillRect(6, 4, 2, 2);
  63.       var2.fillRect(7, 3, 2, 2);
  64.       var2.fillRect(8, 2, 2, 2);
  65.       var2.translate(-var3, -var4);
  66.    }
  67.  
  68.    public int getIconWidth() {
  69.       return 12;
  70.    }
  71.  
  72.    public int getIconHeight() {
  73.       return 12;
  74.    }
  75. }
  76.