}
  public int columnAtPoint(Point point)  {    if (point != null)      {        int ncols = getColumnCount();        Dimension gap = getIntercellSpacing();        TableColumnModel cols = getColumnModel();        int x = point.x;        for (int i = 0; i < ncols; ++i)          {            int width = cols.getColumn(i).getWidth()                        + (gap == null ? 0 : gap.width);            if (0 <= x && x < width)              return i;            x -= width;          }      }    return -1;  }