@Override
  public void paintBorder(Component c, Graphics g, int x, int y, int width, int height) {
    Color oldColor = g.getColor();
    int i;

    for(i = 0; i < getThickness(); i++){
      if (myLeftColor != null){
        g.setColor(myLeftColor);
        LinePainter2D.paint((Graphics2D)g, x + i, y + i, x + i, height - i - i - 1);
      }
      if (myTopColor != null){
        g.setColor(myTopColor);
        LinePainter2D.paint((Graphics2D)g, x + i, y + i, width - i - i - 1, y + i);
      }
      if (myRightColor != null){
        g.setColor(myRightColor);
        LinePainter2D.paint((Graphics2D)g, width - i - i - 1, y + i, width - i - i - 1, height - i - i - 1);
      }
      if (myBottomColor != null){
        g.setColor(myBottomColor);
        LinePainter2D.paint((Graphics2D)g, x + i, height - i - i - 1, width - i - i - 1, height - i - i - 1);
      }
    }
    g.setColor(oldColor);
  }
@Override
  public void paintBorder(Component c, Graphics g, int x, int y, int width, int height)