if (b.isFocusOwner())
if (b.isFocusOwner() && b.isFocusPainted())
  public void paint(Graphics g, JComponent c)  {          AbstractButton b = (AbstractButton) c;    Rectangle tr = new Rectangle();    Rectangle ir = new Rectangle();    Rectangle vr = new Rectangle();    Font f = c.getFont();    g.setFont(f);    if (b.isBorderPainted())      SwingUtilities.calculateInnerArea(b, vr);    else      vr = SwingUtilities.getLocalBounds(b);    String text = SwingUtilities.layoutCompoundLabel(c, g.getFontMetrics(f),                                                      b.getText(),                                                     currentIcon(b),                                                     b.getVerticalAlignment(),                                                      b.getHorizontalAlignment(),                                                     b.getVerticalTextPosition(),                                                      b.getHorizontalTextPosition(),                                                     vr, ir, tr,                                                      b.getIconTextGap()                                                      + defaultTextShiftOffset);    if ((b.getModel().isArmed() && b.getModel().isPressed())         || b.isSelected())      paintButtonPressed(g, b);    paintIcon(g, b, ir);    if (text != null)      paintText(g, b, tr, text);    if (b.isFocusOwner())      paintFocus(g, b, vr, tr, ir);  }