@Override
  protected void paintComponent(Graphics g) {
    super.paintComponent(g);

    String text = getText();
    if (text != null && myUnderline) {
      g.setColor(myForeground);
      int x = 0;

      Icon icon = getIcon();
      if (icon != null) {
        x = icon.getIconWidth() + getIconTextGap();
      }

      if (getHorizontalAlignment() == CENTER) {
        int w = g.getFontMetrics().stringWidth(text);
        x += (getWidth() - x - w) >> 1;
      }

      Border border = getBorder();
      if (border != null) {
        Insets insets = border.getBorderInsets(this);
        if (insets.left != -1) {
          x += insets.left;
        }
      }

      drawWave(this, g, x, text);
    }
  }
@Override
  protected void paintComponent(Graphics g)