Drag and Drop

Résolu
lafolle24320 Messages postés 406 Date d'inscription samedi 26 mars 2005 Statut Membre Dernière intervention 29 juin 2009 - 21 mai 2007 à 09:33
lafolle24320 Messages postés 406 Date d'inscription samedi 26 mars 2005 Statut Membre Dernière intervention 29 juin 2009 - 21 mai 2007 à 09:47
Bonjour à tous,
Je suis en train d'essayer de faire du drag and drop avec un JTextField.
J'ai vu les nombreux tutoriels qui on déjà était proposé pour répondre à des questions de ce genre. Ainsi j'arrive à déplacer un JtextField vers un jtextArea.
Or je voudrais simplement pouvoir déplacer librement un jtextfield (couper/coller) dans un jpanel.
Et là je ne trouve pas comment spécifier que monjpanel puisse recevoir un drop.

voici mon code :
import java.awt.event.*;

import javax.swing.*;

/*
* Created on 21 mai 2007
*
* TODO To change the template for this generated file go to
* Window - Preferences - Java - Code Style - Code Templates
*/

/**
* @author tamisier
*
* TODO To change the template for this generated type comment go to
* Window - Preferences - Java - Code Style - Code Templates
*/
public class Test extends JFrame{

JPanel monPanel;
JTextField monArea;
public static void main(String args[])
{
new Test();
}

public Test()
{




monPanel = new JPanel();

monArea = new JTextField("Merci de m'aider");
monArea.setDragEnabled(true);
monArea.addMouseListener(new MouseAdapter() {
public void mousePressed(MouseEvent e) {
JComponent c = (JComponent) e.getSource();
TransferHandler handler = c.getTransferHandler();
handler.exportAsDrag(c, e, TransferHandler.COPY);
}
});
monPanel.add(monArea);
this.add(monPanel);

this.setSize(800,600);
this.getContentPane();
this.setVisible(true);
}
}

Merci à vous

lafolle

1 réponse

lafolle24320 Messages postés 406 Date d'inscription samedi 26 mars 2005 Statut Membre Dernière intervention 29 juin 2009 7
21 mai 2007 à 09:47
BOn et bien voilà ,
j'étais partie sur une mauvaise base envoulant utiliser le setDragEnabled(true);
du moins cette méthode fonctionne mais pas pour ce que je veux faire :
Le site qui m'a aidé :http://www.labo-sun.com/resource-FR-codesamples-173-0-java-gui-gerer-le-drag-and-drop-sur-un-element-graphique-avec-java2d.htm
et mon code de test qui fonctionne sauf que je n'ai pas encore géré le fait que le composant ne doit pas sortir de mon panel
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;


// Ce code nécessite qu'une image nommée image.gif soit présente dans le répertoire courant du programme.
public class test3 implements MouseMotionListener{
JFrame fenetre;
JTextArea img;

public test3(){
fenetre = new JFrame("test");
fenetre.getContentPane().setLayout(null);
fenetre.setBounds(100,50,500,400);
img=new JTextArea("coucou");
img.setSize(100,150);
img.setBounds(40,40,100,150);
img.addMouseMotionListener(this);
fenetre.getContentPane().add(img);
fenetre.setVisible(true);
}


public void mouseMoved(MouseEvent e) {
}

public void mouseDragged(MouseEvent e) {
img.setBounds(img.getX()+e.getX()-10,img.getY()+e.getY()-10,100,150);
}




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

}

et voilà merci à tous
bonne journée et bonne prog

lafolle
3
Rejoignez-nous