aspose file tools
The moose likes Swing / AWT / SWT and the fly likes Facing with Drag and Drop issues Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login

Win a copy of The Software Craftsman this week in the Agile forum!
JavaRanch » Java Forums » Java » Swing / AWT / SWT
Bookmark "Facing with Drag and Drop issues" Watch "Facing with Drag and Drop issues" New topic

Facing with Drag and Drop issues

Rohit Bhagwat
Ranch Hand

Joined: Dec 19, 2004
Posts: 205
Hello sir, madam

I got the following sample code from net. The functionality is very similar to what I want in my project. However I am facing one problem with the following code. When I drag and drop the text from one textfield to other the focus should go in the textfield in which I have dropped the text. This is not happening in the following program. The focus is maintained in the textfield from where I dragged the text. Can anyone please suggest some solution to my problem.

Waiting for your replies..

Thanks and Regards

* requires no other files.

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.*;

public class LabelDnD extends JPanel {
JTextField textField;
JTextField label;

public LabelDnD() {
super(new GridLayout(2, 1));
textField = new JTextField(40);
textField.addMouseListener(new DragMouseAdapter());
JPanel tfpanel = new JPanel(new GridLayout(1,1));
TitledBorder t1 = BorderFactory.createTitledBorder(
"JTextField: drag and drop is enabled");

label = new JTextField("I'm a Label!");
//label.setTransferHandler(new TransferHandler("text"));

MouseListener listener = new DragMouseAdapter();
JPanel lpanel = new JPanel(new GridLayout(1,1));
TitledBorder t2 = BorderFactory.createTitledBorder(
"JLabel: drag from or drop to this label");


private class DragMouseAdapter extends MouseAdapter {
public void mousePressed(MouseEvent e) {
JComponent c = (JComponent)e.getSource();
TransferHandler handler = c.getTransferHandler();
handler.exportAsDrag(c, e, TransferHandler.COPY);

* Create the GUI and show it. For thread safety,
* this method should be invoked from the
* event-dispatching thread.
private static void createAndShowGUI() {
//Create and set up the window.
JFrame frame = new JFrame("LabelDnD");

//Create and set up the content pane.
JComponent newContentPane = new LabelDnD();
newContentPane.setOpaque(true); //content panes must be opaque

//Display the window.

public static void main(String[] args) {
//Schedule a job for the event-dispatching thread:
//creating and showing this application's GUI.
javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run() {
Don't get me started about those stupid light bulbs.
subject: Facing with Drag and Drop issues