void (Graphics g, JComponent c, Rectangle bounds) { if (isMacOverlayScrollbar() && !alwaysShowTrack()) { bounds = getMacScrollBarBounds(bounds, false); boolean vertical = isVertical(); final Paint paint; final Color start = adjustColor(ColorUtil.darker(getTrackBackground(), 1)); final Color end = adjustColor(getTrackBackground().brighter()); if (vertical) { paint = UIUtil.getGradientPaint(bounds.x + 1, bounds.y, start, bounds.width + 1, bounds.y, end); } else { paint = UIUtil.getGradientPaint(bounds.x, bounds.y + 1, start, bounds.x, bounds.height + 1, end); } Graphics2D g2d = (Graphics2D)g; g2d.setPaint(paint); g2d.fillRect(bounds.x, bounds.y, bounds.width, bounds.height); g.setColor(adjustColor(start.darker())); } else { g.setColor(getTrackBackground()); g.fillRect(bounds.x, bounds.y, bounds.width, bounds.height); g.setColor(getTrackBorderColor()); } if (isVertical()) { int x = scrollbar.getComponentOrientation().isLeftToRight() ? bounds.x : bounds.x + bounds.width - 1; g.drawLine(x, bounds.y, x, bounds.y + bounds.height); } else { g.drawLine(bounds.x, bounds.y, bounds.x + bounds.width, bounds.y); } if (myRepaintCallback != null) { myRepaintCallback.call(g); } }