public void paintIcon(java.awt.Component c, java.awt.Graphics g, int x, int y) {
		if(! isVisible) {
			return;
		} else if(isEnabled) {
			if(isPressed) {
				if(pressedIcon != null) {
					pressedIcon.paintIcon(c, g, x, y);
				} else {
					defaultIcon.paintIcon(c, g, x + 1, y + 1);
				}
			} else if(isRollover) {
				if(rolloverIcon != null) {
					rolloverIcon.paintIcon(c, g, x, y);
				} else {
					defaultIcon.paintIcon(c, g, x - 1, y - 1); // "push" effect
				}
			} else { // just the default
				if(defaultIcon != null) {
					defaultIcon.paintIcon(c, g, x, y);
				}
			}
		} else { // disabled
			if(disabledIcon == null) {
				disabledIcon = createDisabledIcon();
			}
			disabledIcon.paintIcon(c, g, x, y);
		}
	}