public void mouseDragged(MouseEvent e) {
      if (shouldIgnore(e)) {
        return;
      }

      repostEvent(e);

      CellEditor editor = grid.getCurrentCellEditor();
      if (editor == null || editor.shouldSelectCell(e)) {
        Point p = e.getPoint();
        int row = grid.rowAtPoint(p);
        int column = grid.columnAtPoint(p);
        // The autoscroller can generate drag events outside the Table's range.
        if ((column == -1) || (row == -1)) {
          return;
        }
        grid.changeSelection(row, column, false, true);
      }
    }