private static void drawKnob(Graphics2D g2d, int x, int y, boolean vertical) {
    g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);

    if (vertical) {
      y -= 6;

      Polygon arrowShadow = new Polygon();
      arrowShadow.addPoint(x - 5, y + 1);
      arrowShadow.addPoint(x + 7, y + 7);
      arrowShadow.addPoint(x - 5, y + 13);

      g2d.setColor(new Color(0, 0, 0, 70));
      g2d.fill(arrowShadow);

      Polygon arrowHead = new Polygon();
      arrowHead.addPoint(x - 6, y);
      arrowHead.addPoint(x + 6, y + 6);
      arrowHead.addPoint(x - 6, y + 12);

      g2d.setColor(new Color(153, 51, 0));
      g2d.fill(arrowHead);
    }
    else {
      x -= 6;

      Polygon arrowShadow = new Polygon();
      arrowShadow.addPoint(x + 1, y - 5);
      arrowShadow.addPoint(x + 13, y - 5);
      arrowShadow.addPoint(x + 7, y + 7);

      g2d.setColor(new Color(0, 0, 0, 70));
      g2d.fill(arrowShadow);

      Polygon arrowHead = new Polygon();
      arrowHead.addPoint(x, y - 6);
      arrowHead.addPoint(x + 12, y - 6);
      arrowHead.addPoint(x + 6, y + 6);

      g2d.setColor(new Color(153, 51, 0));
      g2d.fill(arrowHead);
    }
  }
private static void drawKnob(Graphics2D g2d, int x, int y, boolean vertical)