/* * DnDExample.java */ import java.awt.*; import java.awt.event.*; import javax.swing.*; public class DnDExample extends JFrame { public DnDExample() { draw(); } private void draw() { JFrame mainFrame = new JFrame("DnDExample"); mainFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); selF = new JTextField(""); wholeF = new JTextField(""); wholeediF = new JTextField(""); // set up grid layout JPanel cPane = (JPanel)mainFrame.getContentPane(); cPane.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10)); cPane.setLayout(new GridLayout(0, 2)); // common handlers for DnD MouseListener mouseL = new TextFieldMouseAdapter(); TransferHandler transfH = new TransferHandler("text"); JTextField tF; cPane.add(new JLabel("Copy full text from selection:")); tF = new JTextField(""); tF.setDragEnabled(true); tF.setTransferHandler(transfH); tF.setEditable(true); cPane.add(tF); cPane.add(new JLabel("Move selection:")); tF = new JTextField(""); tF.setDragEnabled(true); tF.setEditable(true); cPane.add(tF); cPane.add(new JLabel("Move selection, insert:")); tF = new JTextField(""); tF.setDragEnabled(true); tF.setDropMode(DropMode.INSERT); tF.setEditable(true); cPane.add(tF); cPane.add(new JLabel("Drop only:")); tF = new JTextField(""); tF.setTransferHandler(transfH); tF.setEditable(false); cPane.add(tF); cPane.add(new JLabel("Drag&drop, not editable:")); tF = new JTextField(""); tF.setDragEnabled(true); tF.setTransferHandler(transfH); tF.setEditable(false); tF.addMouseListener(mouseL); cPane.add(tF); cPane.add(new JLabel("full, automatic selection:")); tF = new JTextField(""); tF.setDragEnabled(true); tF.setTransferHandler(transfH); tF.setEditable(true); tF.addMouseListener(mouseL); cPane.add(tF); //Display the window. mainFrame.pack(); mainFrame.setVisible(true); } // draw() public static void main(String[] args) { javax.swing.SwingUtilities.invokeLater(new Runnable() { public void run() { DnDExample cgui = new DnDExample(); } }); } // main() } // class DnDExample