code: public int getVisibleRowCapacity() {
          int rh = getCalculatedRowHeight();
          double visibleHeight = getVisibleHeight();
          int rows = (int) ((visibleHeight < 1) ? 0 : Math.floor(visibleHeight / rh));
  
          int calcHeight = rh * rows;
  
          while (calcHeight < visibleHeight) {
              rows++;
              calcHeight = rh * rows;
          }
  
          logger.finest("row height: " + rh + " visibleHeight: " + visibleHeight + " visible rows: "
              + rows + " calcHeight: " + calcHeight);
          return rows;
      }
docs: Returns the total number of rows that are visible given
  the current grid height.