void (Graphics g, int x, int y, int size, int direction, boolean isEnabled) { Graphics2D g2 = (Graphics2D)g.create(); try { g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); g2.setRenderingHint(RenderingHints.KEY_STROKE_CONTROL, MacUIUtil.USE_QUARTZ ? RenderingHints.VALUE_STROKE_PURE : RenderingHints.VALUE_STROKE_NORMALIZE); float lw = LW.getFloat(); float bw = BW.getFloat(); g2.setColor(JBUI.CurrentTheme.Arrow.backgroundColor(isEnabled, true)); g2.fill(getInnerShape(lw, bw)); // Paint side line int h = getHeight() - JBUIScale.scale(1); Rectangle2D sideLine = direction == NORTH ? new Rectangle2D.Float(0, bw + lw, lw, h - (bw + lw)) : new Rectangle2D.Float(0, 0, lw, h - (bw + lw)); g2.setColor(getOutlineColor(spinner.isEnabled(), false)); g2.fill(sideLine); // Paint arrow g2.translate(x, y); g2.setColor(JBUI.CurrentTheme.Arrow.foregroundColor(isEnabled)); g2.fill(getArrowShape()); } finally { g2.dispose(); } }