IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AWT/Swing Java Discussion :

Drag&drop d'image entre 2 JPanel


Sujet :

AWT/Swing Java

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    81
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2006
    Messages : 81
    Par défaut Drag&drop d'image entre 2 JPanel
    Salut,

    Voila je cherche à prendre une image dans un jpanel et à la copier dans l'autre grâce à la souris.

    J'ai testé quelque petit truc grâce aux tutoriaux sur le net, mais je n'arrive pas à savoir comment je peux récupérer les informations sur le JPanel qui reçoit l'image.

    Pour prendre l'image sur l'autre JPanel je me suis basé dessus (DragPictureDemo) :

    http://java.sun.com/docs/books/tutorial/uiswing/examples/dnd/index.html#DragPictureDemo

    Si vous pouvez m'aider ou me conseiller , merci d'avance.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    81
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2006
    Messages : 81
    Par défaut
    J'ai trouvé ca, je met ce code dans le jpanel qui recoit l'image.
    Grâce à ca j'arrive à récupérer la position ou je relache le bouton de la souris. Et les informations du jpanel qui contient les images. Mais je n'ai pas d'information sur l'image que je veux copier.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    jPaneReceive.setDropTarget(new DropTarget(jPaneReceive,
           new DropTargetAdapter() {
           public void drop(DropTargetDropEvent dtde) {
                   dtde.dropComplete(true);
                   dtde.acceptDrop(dtde.getDropAction());
            }
            }
    ));

  3. #3
    Membre Expert
    Avatar de yotta
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Septembre 2006
    Messages
    1 088
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 088
    Par défaut Idée...
    Bonjour,
    Il me semble que dans votre cas, vous avez un JPanel dédié au Drag, et un autre dédié au Drop.
    Il suffit donc d'écouter les évennement dragEvent dans le JPanel dédié au Drag, et l'évennement dropEvent dans l'autre. Si le drop est fait 'dans le vide', cela revient au même qu'une annulation de l'opération D&D.
    Il faut prendre le temps de bien lire le tutoriel dédié au D&D, il est très complet et décrit parfaitement le fonctionnement. Si bien qu'en fait, le problème ne se pose pas.

    Bon courage...
    Une technologie n'est récalcitrante que par ce qu'on ne la connait et/ou comprend pas, rarement par ce qu'elle est mal faite.
    Et pour cesser de subir une technologie récalcitrante, n'hésitez surtout pas à visiter les Guides/Faq du site !

    Voici une liste non exhaustive des tutoriels qui me sont le plus familiers :
    Tout sur Java, du débutant au pro : https://java.developpez.com/cours/
    Tout sur les réseaux : https://reseau.developpez.com/cours/
    Tout sur les systèmes d'exploitation : https://systeme.developpez.com/cours/
    Tout sur le matériel : https://hardware.developpez.com/cours/

  4. #4
    Membre éclairé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2007
    Messages
    697
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 697
    Par défaut
    salut pursang,
    tu peut donner le lien de ton tutoriel ? merci d'avance...

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    81
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2006
    Messages : 81
    Par défaut
    J'ai trouvé grâce à ce site :

    http://www.javaworld.com/javatips/jw-javatip97.html

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    this.setDropTarget(new DropTarget(this,
                    new DropTargetAdapter() {
                    public void drop(DropTargetDropEvent dtde) {
     
                       DataFlavor pictureFlavor = DataFlavor.imageFlavor;
                         Transferable t = dtde.getTransferable();
                         if (!t.isDataFlavorSupported(pictureFlavor)) {
                            dtde.rejectDrop();
                            return;
                        }
                    try {
                        Object data = t.getTransferData(pictureFlavor);
                        img = (Image) data;
     
                    } catch (IOException ex) {
                        ex.printStackTrace();
                    } catch (UnsupportedFlavorException ex) {
                        ex.printStackTrace();
                    }
       }
     }
    ));
    img contient l'image que j'ai déplacé.

  6. #6
    Membre Expert
    Avatar de yotta
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Septembre 2006
    Messages
    1 088
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 088
    Une technologie n'est récalcitrante que par ce qu'on ne la connait et/ou comprend pas, rarement par ce qu'elle est mal faite.
    Et pour cesser de subir une technologie récalcitrante, n'hésitez surtout pas à visiter les Guides/Faq du site !

    Voici une liste non exhaustive des tutoriels qui me sont le plus familiers :
    Tout sur Java, du débutant au pro : https://java.developpez.com/cours/
    Tout sur les réseaux : https://reseau.developpez.com/cours/
    Tout sur les systèmes d'exploitation : https://systeme.developpez.com/cours/
    Tout sur le matériel : https://hardware.developpez.com/cours/

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Drag and drop avec image pendant le drag
    Par WG614 dans le forum VB.NET
    Réponses: 2
    Dernier message: 06/03/2009, 06h17
  2. [WinDev9] Drag and drop d'images
    Par chrisnikita dans le forum WinDev
    Réponses: 1
    Dernier message: 21/05/2007, 16h53
  3. Drag and Drop en WPF entre une listbox et un fichier
    Par zeOliver dans le forum Windows Presentation Foundation
    Réponses: 5
    Dernier message: 17/04/2007, 10h56
  4. Drag and drop d'images
    Par PrinceMaster77 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 31/05/2006, 21h53
  5. Drag and Drop inter process entre delphi et une appli. ext.
    Par protheus dans le forum API, COM et SDKs
    Réponses: 4
    Dernier message: 03/06/2005, 22h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo