delta = direction * rowHeight == 0 ? 20 : rowHeight;
{ if (direction < 0) { if (row != 0) { b = getRowBounds(row - 1); delta = b.height; } } else delta = b.height; } } } else  delta = 4;
  public int getScrollableUnitIncrement(Rectangle visibleRect, int orientation,                                        int direction)  {    int delta;    // Round so that the top would start from the row boundary    if (orientation == SwingConstants.VERTICAL)      {        // One pixel down, otherwise picks another row too high.        int row = getClosestRowForLocation(visibleRect.x, visibleRect.y + 1);        row = row + direction;        if (row < 0)          row = 0;        Rectangle newTop = getRowBounds(row);        delta = newTop.y - visibleRect.y;      }    else      delta = direction * rowHeight == 0 ? 20 : rowHeight;    return delta;  }