FileDocCategorySizeDatePackage
MetalCheckBoxIcon.javaAPI DocJava SE 5 API2689Fri Aug 26 14:58:06 BST 2005javax.swing.plaf.metal

MetalCheckBoxIcon

public class MetalCheckBoxIcon extends Object implements Serializable, Icon, UIResource
CheckboxIcon implementation for OrganicCheckBoxUI

Warning: Serialized objects of this class will not be compatible with future Swing releases. The current serialization support is appropriate for short term storage or RMI between applications running the same version of Swing. As of 1.4, support for long term storage of all JavaBeansTM has been added to the java.beans package. Please see {@link java.beans.XMLEncoder}.

version
1.17 12/19/03
author
Steve Wilson

Fields Summary
Constructors Summary
Methods Summary
protected voiddrawCheck(java.awt.Component c, java.awt.Graphics g, int x, int y)

	int controlSize = getControlSize();
	g.fillRect( x+3, y+5, 2, controlSize-8 );
	g.drawLine( x+(controlSize-4), y+3, x+5, y+(controlSize-6) );
	g.drawLine( x+(controlSize-4), y+4, x+5, y+(controlSize-5) );
    
protected intgetControlSize()

 return 13; 
public intgetIconHeight()

        return getControlSize();
    
public intgetIconWidth()

        return getControlSize();
    
public voidpaintIcon(java.awt.Component c, java.awt.Graphics g, int x, int y)


        JCheckBox cb = (JCheckBox)c;
	ButtonModel model = cb.getModel();
	int controlSize = getControlSize();

       	boolean drawCheck = model.isSelected();

	if (model.isEnabled()) {
	    if(cb.isBorderPaintedFlat()) {
		g.setColor(MetalLookAndFeel.getControlDarkShadow());
		g.drawRect(x+1, y, controlSize-1, controlSize-1);
	    }
   	    if (model.isPressed() && model.isArmed()) {
		if(cb.isBorderPaintedFlat()) {
		    g.setColor(MetalLookAndFeel.getControlShadow());
		    g.fillRect(x+2, y+1, controlSize-2, controlSize-2);
		} else {
		    g.setColor(MetalLookAndFeel.getControlShadow());
		    g.fillRect(x, y, controlSize-1, controlSize-1);
		    MetalUtils.drawPressed3DBorder(g, x, y, controlSize, controlSize);
		}
	    } else if(!cb.isBorderPaintedFlat()) {
	        MetalUtils.drawFlush3DBorder(g, x, y, controlSize, controlSize);
	    }
	    g.setColor( MetalLookAndFeel.getControlInfo() );
       	} else {
	    g.setColor( MetalLookAndFeel.getControlShadow() );
	    g.drawRect( x, y, controlSize-1, controlSize-1);
	}

	
	if(drawCheck) {
	    if (cb.isBorderPaintedFlat()) {
		x++;
	    }
	    drawCheck(c,g,x,y);
	}