This Java Swing tip illustrates a method of detecting a drag initiating gesture in your application. The tip demonstrates a simple test of the DragGesture classes to see if we can recognize a simple drag gesture. Developers may use this gesture to execute different functionalities.

 import java.awt.*;
import java.awt.dnd.*;
import java.awt.datatransfer.*;
import java.awt.event.*;
import java.util.*;
import javax.swing.*;

public class GestureTest extends JFrame implements DragGestureListener {

  DragSource ds;
  JList jl;
  String[] items = {"Java", "C", "C++", "Lisp", "Perl", "Python"};

  public GestureTest() {
    super("Gesture Test");
    addWindowListener(new WindowAdapter() {
      public void windowClosing(WindowEvent we) {
    jl = new JList(items);
    getContentPane().add(new JScrollPane(jl), BorderLayout.CENTER);

    ds = new DragSource();
    DragGestureRecognizer dgr = ds.createDefaultDragGestureRecognizer(
        jl, DnDConstants.ACTION_COPY, this);

  public void dragGestureRecognized(DragGestureEvent dge) {
    System.out.println("Drag Gesture Recognized!");

  public static void main(String args[]) {
    new GestureTest();