MetalUtils.paintGradient(g, x, y, getIconWidth(), getIconHeight(), SwingConstants.VERTICAL, "RadioButton.gradient");
MetalUtils.paintGradient(g, x + 2, y + 2, 8, 8, SwingConstants.VERTICAL, "RadioButton.gradient", gradientMask);
    public void paintIcon(Component c, Graphics g, int x, int y)     {      if (UIManager.get("RadioButton.gradient") != null)        MetalUtils.paintGradient(g, x, y, getIconWidth(), getIconHeight(),                              SwingConstants.VERTICAL, "RadioButton.gradient");      Color savedColor = g.getColor();      JRadioButton b = (JRadioButton) c;            // draw outer circle      if (b.isEnabled())        g.setColor(MetalLookAndFeel.getControlDarkShadow());      else        g.setColor(MetalLookAndFeel.getControlDisabled());      g.drawLine(x + 2, y + 1, x + 3, y + 1);      g.drawLine(x + 4, y, x + 7, y);      g.drawLine(x + 8, y + 1, x + 9, y + 1);      g.drawLine(x + 10, y + 2, x + 10, y + 3);      g.drawLine(x + 11, y + 4, x + 11, y + 7);      g.drawLine(x + 10, y + 8, x + 10, y + 9);      g.drawLine(x + 8, y + 10, x + 9, y + 10);      g.drawLine(x + 4, y + 11, x + 7, y + 11);      g.drawLine(x + 2, y + 10, x + 3, y + 10);      g.drawLine(x + 1, y + 9, x + 1, y + 8);      g.drawLine(x, y + 7, x, y + 4);      g.drawLine(x + 1, y + 2, x + 1, y + 3);      if (b.getModel().isArmed())        {          g.setColor(MetalLookAndFeel.getControlShadow());          g.drawLine(x + 4, y + 1, x + 7, y + 1);          g.drawLine(x + 4, y + 10, x + 7, y + 10);          g.drawLine(x + 1, y + 4, x + 1, y + 7);          g.drawLine(x + 10, y + 4, x + 10, y + 7);          g.fillRect(x + 2, y + 2, 8, 8);        }      else         {          // only draw inner highlight if not filled          if (b.isEnabled())            {              g.setColor(MetalLookAndFeel.getWhite());                        g.drawLine(x + 2, y + 8, x + 2, y + 9);              g.drawLine(x + 1, y + 4, x + 1, y + 7);              g.drawLine(x + 2, y + 2, x + 2, y + 3);              g.drawLine(x + 3, y + 2, x + 3, y + 2);              g.drawLine(x + 4, y + 1, x + 7, y + 1);              g.drawLine(x + 8, y + 2, x + 9, y + 2);            }        }      // draw outer highlight      if (b.isEnabled())        {          g.setColor(MetalLookAndFeel.getWhite());                    // outer          g.drawLine(x + 10, y + 1, x + 10, y + 1);          g.drawLine(x + 11, y + 2, x + 11, y + 3);          g.drawLine(x + 12, y + 4, x + 12, y + 7);          g.drawLine(x + 11, y + 8, x + 11, y + 9);          g.drawLine(x + 10, y + 10, x + 10, y + 10);          g.drawLine(x + 8, y + 11, x + 9, y + 11);          g.drawLine(x + 4, y + 12, x + 7, y + 12);          g.drawLine(x + 2, y + 11, x + 3, y + 11);        }            if (b.isSelected())        {          if (b.isEnabled())            g.setColor(MetalLookAndFeel.getBlack());          else            g.setColor(MetalLookAndFeel.getControlDisabled());          g.drawLine(x + 4, y + 3, x + 7, y + 3);          g.fillRect(x + 3, y + 4, 6, 4);          g.drawLine(x + 4, y + 8, x + 7, y + 8);        }      g.setColor(savedColor);    }        