private static Rectangle textRect = new Rectangle();
  private static Rectangle iconRect = new Rectangle();
  public void paint(Graphics g, JComponent c) {
    AbstractButton b = (AbstractButton) c;
    ButtonModel model = b.getModel();
    String text = layout(b, SwingUtilities2.getFontMetrics(b, g), b
        .getWidth(), b.getHeight());
    clearTextShiftOffset();
    if (!model.isEnabled()) {
      g.setColor(JLAFConstants.LIGHT_GRAY);
      g.fillRoundRect(0, 0, c.getWidth()-1, c.getHeight()-1, 10, 7);
      g.setColor(JLAFConstants.DARK_GRAY);
      g.drawRoundRect(0, 0, c.getWidth()-1, c.getHeight()-1, 9, 5);
    } else if (model.isArmed() && model.isPressed()) {
//      g.setColor(JLAFConstants.INVISIBLE);
//      g.fillRoundRect(0, 0, c.getWidth(), c.getHeight(), 10, 7);
      g.setColor(JLAFConstants.DARK_GRAY);
      g.drawRoundRect(0, 0, c.getWidth()-1, c.getHeight()-1, 9, 5);
    } else if (model.isRollover() || model.isArmed()) {
//      g.setColor(JLAFConstants.INVISIBLE);
//      g.fillRoundRect(0, 0, c.getWidth(), c.getHeight(), 10, 7);
      g.setColor(JLAFConstants.LIGHT_GRAY);
      g.drawRoundRect(0, 0, c.getWidth()-1, c.getHeight()-1, 9, 5);
    } else {