public void paintIcon(Component c, Graphics graphics, int x, int y) {
Font font = UIManager.getFont("TextField.font");
Graphics2D g = (Graphics2D)graphics.create(x, y, getIconWidth(), getIconHeight());
g.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
g.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_ON);
g.setFont(font.deriveFont(Font.BOLD, getIconWidth()*3/4));
g.setColor(Color.green.darker());
final int SW = Math.max(getIconWidth()/10, 4);
g.setStroke(new BasicStroke(SW));
g.drawArc(SW/2, SW/2, getIconWidth()-SW-1, getIconHeight()-SW-1, 0, 360);
Rectangle2D bounds =