wood burning stoves 2.0*
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 Murach's Java Servlets and JSP this week in the Servlets forum!
JavaRanch » Java Forums » Java » Swing / AWT / SWT
Bookmark "Facing with Drag and Drop issues" Watch "Facing with Drag and Drop issues" New topic
Author

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
Rohit.


/*
* LabelDnD.java 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.setDragEnabled(true);
textField.addMouseListener(new DragMouseAdapter());
JPanel tfpanel = new JPanel(new GridLayout(1,1));
TitledBorder t1 = BorderFactory.createTitledBorder(
"JTextField: drag and drop is enabled");
tfpanel.add(textField);
tfpanel.setBorder(t1);

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

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

add(tfpanel);
add(lpanel);
setBorder(BorderFactory.createEmptyBorder(5,5,5,5));
}

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");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

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

//Display the window.
frame.pack();
frame.setVisible(true);
}

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() {
createAndShowGUI();
}
});
}
}
 
Consider Paul's rocket mass heater.
 
subject: Facing with Drag and Drop issues
 
Similar Threads
TextFeild value from DataBase not coming
controlling size of part of split pane and another error
Titled Border
Drag and Drop JDK1.4.0
JTabbed Pane: How to hide the frame containing the tabbed panes