code: public Dimension getPreferredSize(JComponent c) {
          Insets insets = c.getInsets();
          return (scrollbar.getOrientation() == JScrollBar.VERTICAL) ? new Dimension(scrollBarWidth + insets.left + insets.right, 48)
                  : new Dimension(48, scrollBarWidth + insets.top + insets.bottom);
      }
docs: A vertical scrollbar's preferred width is the maximum of preferred widths
  of the (non <code>null</code>) increment/decrement buttons, and the
  minimum width of the thumb. The preferred height is the sum of the
  preferred heights of the same parts. The basis for the preferred size of
  a horizontal scrollbar is similar.
  <p>
  The <code>preferredSize</code> is only computed once, subsequent calls to
  this method just return a cached size.
  
  @param c
  the <code>JScrollBar</code> that's delegating this method to
  us
  @return the preferred size of a Basic JScrollBar
  @see #getMaximumSize
  @see #getMinimumSize