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

Composants Java Discussion :

Drag and drop - Besoin d'aide


Sujet :

Composants Java

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Drag and drop - Besoin d'aide
    Bonjour à tous,

    Je ne sais pas si c'est le bon endroit pour poster cela, excusez moi si je me suis trompé (je suis tout nouveau ici)

    Je suis entrain de développer un logiciel de retouche d'image dans le cadre d'un projet, et j'aimerais intégrer du "drag and drop", par exemple prendre une image du bureau et la faire glisser dans le logiciel afin de l'ouvrir, et inversement faire glisser l'image ouverte dans le logiciel vers un explorateur afin de l'enregistrer. J'ai déjà fait pas mal de recherche sur le net à propos du "drag and drop" mais je n'ai pas vraiment trouvé d'exemple qui traite vraiment ce cas. J'aimerais savoir si vous aviez des exemple, ou des indications qui m'aiderais a réaliser cette fonctionnalité, je vous avoue que je suis un peu (beaucoup) perdu

    Merci

  2. #2
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 840
    Points : 22 854
    Points
    22 854
    Billets dans le blog
    51
    Par défaut
    Il te faut aller voir du cote de TransferHandler, Transferable et DataFlavor.

    • TransferHandler : la classe qui gere le transfer
      • Depuis le composant : on clic sur ce composant et on drag vers un autre composant ou une autre appli (meme native).
      • Vers le composant : on clic sur un autre composant ou une autre appli (meme native) et on drag sur ce composant.

      Il faut bien se souvenir que c'est la meme classe qui gere l'import ET l'export (donc certaines methodes sont appellees par l'import et d'autres par l'export). La plupart des composant Swing disposent d'une methode setTransferHandler() et c'est a toi de decider si tu supporte l'import ou l'export ou les deux en implementant les bonnes methodes.
      A noter que pour l'export tu as egalement deux modes principaux :
      • COPY : la donnee source reste dans le composant et on la copie a l'exterieur.
      • MOVE : la donnee source est soit transferee a l'exterieur soit en en fait une copie qu'on transfere et on supprime l'original une fois le transfer termine. C'est l'equivalent d'un couper/cut.
    • Transferable : empaquette la donne a faire transiter par le DnD et fourni les informations necessaires sur les saveurs
    • DataFlavor : defini les saveurs des donnees qui transitent par exemple quand tu fais un copier/couper+coller ou un DnD d'une image depuis Word, cette image peut etre disponible dans le presse-papier en plusieurs saveurs : un meta-file windows, une bitmap et une chaine de caractere la decrivant. Quand tu colles ou DnD cette image sur un composant, le composant va choisir parmis ces trois saveurs laquelle il peut traiter : Excel prendra le metafile, un logiciel de dessin la bitmap et notepad la chaine de texte.
      C'est pareil pour ton composant java :
      • lors de l'import tu recevras une liste de saveurs et tu dois determiner laquelle est utile pour ton programme (il est possible que ton composant ne supporte aucune des saveurs qui lui sont proposees et dans ce cas il n'y a pas d'import).
      • C'est aussi pareil lors de l'export : ton composant doit indiquer la liste des saveurs qu'il est capable d'exporter (via son TransferHandler) de la saveur la plus riche (image, video, controle) a la plus pauvre (souvent du texte simple).

      Tu peux creer tes propres saveurs avec des signatures de classe ou des types MIME mais il existe deux saveurs predefinies qui te seront utiles dans ton cas : DataFlavor.imageFlavor (la donnee est une Image) et DataFlavor.javaFileListFlavor (la donnee represente un ou plusieurs noms de fichiers sur le disque).
      Et evidement il y a aussi DataFlavor.stringFlavor (une chaine de texte).

    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

Discussions similaires

  1. [Article] Système de transfert multiple de fichiers à l'aide de drag and drop
    Par Bovino dans le forum Publications (X)HTML et CSS
    Réponses: 21
    Dernier message: 18/12/2018, 17h42
  2. Aide pour Drag and Drop
    Par 3logy dans le forum ActionScript 3
    Réponses: 1
    Dernier message: 08/09/2009, 10h09
  3. besoin d'aide pour la création d'un drag and drop
    Par thor76160 dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 11/03/2009, 18h27
  4. aide drag and drop applet
    Par Amrouch14 dans le forum Applets
    Réponses: 2
    Dernier message: 06/03/2008, 11h42
  5. Besoin d'aide "Drag and Drop"
    Par yanchasp dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 20/11/2006, 16h23

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