/* * Class to handle drag from a text field. */ import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import javax.swing.JComponent; import javax.swing.JTextField; import javax.swing.TransferHandler; public class TextFieldMouseAdapter extends MouseAdapter { /* * Handle mousePressed event specially * TODO: does not check for types */ public void mousePressed(MouseEvent e) { JComponent c = (JComponent)e.getSource(); // make all content to be selection so that // all content will be part of drag JTextField t = (JTextField)c; t.selectAll(); // get transfer handler of the component TransferHandler handler = c.getTransferHandler(); // start actual transfer handler.exportAsDrag(c, e, TransferHandler.COPY); // remove selection t.select(0, 0); } }