Есть 2 слушателя событий мыши.MouseMotionListener, который вы уже используете, и MouseListener , который прослушивает такие вещи, как нажатие, отпускание и т. Д.
Если реализация всех шести методов на этом интерфейсе является слишком большой нагрузкойвместо этого вы можете расширить MouseAdapter , который предоставляет методы по умолчанию no op для всех типов событий, и вы можете просто переопределить те, которые вам нужны.
EDIT
При ближайшем рассмотрении кажется, что JList, JTable и JTree требуют немного больше для поддержки перетаскивания.Вам нужно будет внедрить DropTarget , чтобы получать уведомления об этих событиях.