code: private void paintMenu(Graphics2D g, JComponent c, int width, int height, ButtonColors colors) {
          g.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_OFF);
  
          g.setColor(colors.top);
          g.drawLine(0, 0, width - 2, 0);
  
          g.setColor(colors.leftOuter);
          g.drawLine(0, 0, 0, height - 4);
  
          g.setColor(colors.leftInner);
          g.drawLine(1, 1, 1, height - 4);
          g.drawLine(2, height - 3, 2, height - 3);
  
          Shape s = decodeInterior(width, height);
  
          g.setColor(colors.interior);
          g.fill(s);
  
          s = decodeEdge(width, height);
          g.setColor(colors.edge);
          g.draw(s);
  
          g.setColor(colors.edgeShade);
          g.drawLine(2, height - 2, 2, height - 2);
          g.drawLine(1, height - 3, 1, height - 3);
          g.drawLine(0, height - 4, 0, height - 4);
  
          s = decodeShadow(width, height);
          g.setColor(colors.shadow);
          g.draw(s);
  
          g.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
  
          s = decodeMarkInterior(width, height);
          g.setColor(colors.markInterior);
          g.fill(s);
  
          s = decodeMarkBorder(width, height);
          g.setColor(colors.markBorder);
          g.draw(s);
      }
docs: Paint the button using the specified colors.
  
  @param g      the Graphics2D context to paint with.
  @param c      the component.
  @param width  the width of the component.
  @param height the height of the component.
  @param colors the color set to use to paint the button.