@Override
  public void paintBorder(Component c, Graphics g, int x, int y, int w, int h) {
    updateInsetsIfNeeded();
    final Color oldColor = g.getColor();
    g.setColor(getColor());

    if (myInsets.left > 0) g.fillRect(x, y, myInsets.left, h);
    if (myInsets.bottom > 0) g.fillRect(x, y + h - myInsets.bottom, w, myInsets.bottom);
    if (myInsets.right> 0) g.fillRect(x + w - myInsets.right, y, myInsets.right, h);
    if (myInsets.top > 0) g.fillRect(x, y, w, myInsets.top);

    g.setColor(oldColor);
  }
@Override
  public void paintBorder(Component c, Graphics g, int x, int y, int w, int h)