The Drag Gesture API
Now that the drop side is working, how do we make the drag side go? First, we need a bit of background information. To successfully accomplish a drag in Java, we must first recognize what constitutes a drag gesture. A drag gesture is an action the user takes to indicate that she’s starting a drag. Typically, this is a mouse drag event, but it is not hard to imagine other gestures that could be used. For example, a voice-activated system might listen for the words “pick up” or something similar.
The API for drag gestures is fairly simple. Four DnD classes and
interfaces make up the core: DragGestureRecognizer
, MouseDragGestureRecognizer
, DragGestureListener
, and DragGestureEvent
, as shown in Figure 24-4.
Figure 24-4. Drag recognition class diagram
The DragGestureRecognizer Class
At the heart of this API is the DragGestureRecognizer
class. Basically, the
recognizer is responsible for recognizing a sequence of events that
says “start dragging.” This can be quite different for different
platforms, so the DragGestureRecognizer
class is abstract and
must be subclassed to create an appropriate implementation. (The
MouseDragGestureRecognizer
takes a few more steps to complete the class and makes assumptions about using a mouse as the trigger for drag events. You can use the toolkit on your system to retrieve a concrete version.) This sounds more complex than it is. The idea ...
Get Java Swing, 2nd Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.