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 :

[copier-coller] non compatible


Sujet :

AWT/Swing Java

  1. #1
    Membre émérite
    Avatar de c-top
    Profil pro
    Turu
    Inscrit en
    Septembre 2003
    Messages
    972
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Turu

    Informations forums :
    Inscription : Septembre 2003
    Messages : 972
    Par défaut [copier-coller] non compatible
    Bonjour,

    J'ai écrit une petite application qui permet de placer des exposants sur des formules scientifiques dans un JTextPane (Ex 10²), malheureusement quand je fais un copier coller vers un logiciel de traitement de texte j'ai le message:
    Format de presse papier non accepté

    J'ai vraiment besoin de trouver une réponse rapidement....
    Si quelqu'un a une idée a me proposer.....

  2. #2
    Membre émérite
    Avatar de c-top
    Profil pro
    Turu
    Inscrit en
    Septembre 2003
    Messages
    972
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Turu

    Informations forums :
    Inscription : Septembre 2003
    Messages : 972
    Par défaut
    Pas d'idée

  3. #3
    Membre Expert
    Avatar de gifffftane
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 354
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 2 354
    Par défaut
    Je vais te faire une réponse qui ne va pas beaucoup t'avancer : il faut qu'il y ait dans le presse-papier des informations compatibles avec le logiciel récepteur.

    Ce qui m'étonne, est que je présume que ton traitement texte accepte le format texte ?? Et justement le JTextPane exporte en particulier en texte (heureusement). Donc en l'état ton problème est inexplicable.

    Quelle sorte de JTextPane as-tu, ou quelle sorte de traitement de texte as-tu ?

  4. #4
    Membre émérite
    Avatar de c-top
    Profil pro
    Turu
    Inscrit en
    Septembre 2003
    Messages
    972
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Turu

    Informations forums :
    Inscription : Septembre 2003
    Messages : 972
    Par défaut
    Le copier coller de texte simple fonctionne parfaitement....
    Ce qui ne fonctionne pas c'est la redéfinition de style, comme les indices ou les exposants etc...
    Exemple pour 10² j'ai 102



    Mon jTextPane est celui de base.
    Pour résoudre mon problème d'indice et d'exposant j'ai commencé par utiliser le HTML à l'aide de l'EditorKitHTML, rapidement j'ai donc obtenu le résultat esconté dans mon JTextPane, travaillant sur Linux mes premiers copier-coller dans OpenOffice furent un succès...

    Mais mon utilitaire étant destiné aux collègues de boulot, je suis donc passé sur Windows et là les ennuis ont commencé.
    Word97 marche pas: le format HTML n'est pas reconnu ??? Je tente un collage spécial, il ne me propose que Texte non formaté.
    Word2000 pas de problème
    OpenOffice: Format de presse papier non disponible ????? Alors que dans collage spécial la ligne HTML apparait.

    Ce qui est etonnant c'est que les réponses au copier coller diffère d'un logiciel à un autre (Word ou OpenOffice par exemple).

  5. #5
    Membre émérite
    Avatar de c-top
    Profil pro
    Turu
    Inscrit en
    Septembre 2003
    Messages
    972
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Turu

    Informations forums :
    Inscription : Septembre 2003
    Messages : 972
    Par défaut
    Ensuite je me suis dit puisque c'est comme çà, utilisons les grands moyens et j'ai commencé à redéfinir mes propres styles à l'aide des StylesConstant
    Et la pas mieux quelque soit le traitement de texte choisi
    un 10² se transforme en 102

    Help

  6. #6
    Membre Expert
    Avatar de gifffftane
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 354
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 2 354
    Par défaut
    Il faut que ce qu'un logiciel reçoit par un coller soit compatible avec ce qu'il sait traiter.

    Cela signifie que si tu veux que word interprète correctement tes indices et exposants, il faut les placer dans un format qu'il accepte, idéalement le format word.

    Heureusement Word accepte d'autres formats, comme le HTML, ou aussi le RTF, qui est un format connu du JTextPane. Mais ça dépend des versions du HTML, des versions de Word, des versions de RTF, des versions du JTextPane...

    Tu peux peut être aussi profiter de Apache POI, Java API To Access Microsoft Format Files.

    Mais cela risque d'être un gros boulot.

  7. #7
    Membre émérite
    Avatar de c-top
    Profil pro
    Turu
    Inscrit en
    Septembre 2003
    Messages
    972
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Turu

    Informations forums :
    Inscription : Septembre 2003
    Messages : 972
    Par défaut
    Ouaip, alors il y a peu de chance que le copier coller fonctionne correctement à partir d'un JTextPane....

    Pourtant quand j'effectue des copier coller d'une application "lambda" vers word ou OpenOffice cela marche toujours ???
    Quand je prends n'importe quel navigateur et que coupe un morceau de HTML vers Word ou Open pareil jamais de problème.

    D'ailleurs on pourrait se poser la question autrement,

    Qui a déjà développé un petit éditeur de texte avec les fonctions de base type GRAS, ITALIQUE.... et obtenu un copier coller correct. Je serais très curieux de voir le code... merci d'avance

  8. #8
    Membre Expert
    Avatar de gifffftane
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 354
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 2 354
    Par défaut
    Que je sache cela fonctionne comme je t'ai dit. Les applications lambda y arrivent en transformant leur contenu au format RTF, ou HTML, ou autres formats.

  9. #9
    Membre émérite
    Avatar de c-top
    Profil pro
    Turu
    Inscrit en
    Septembre 2003
    Messages
    972
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Turu

    Informations forums :
    Inscription : Septembre 2003
    Messages : 972
    Par défaut
    Alors y aurait-il un bug avec java,
    car losque j'effectue un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    JTextPane.setText("<html>10<sup>2</sup></html>");
    tout fonctionne très bien, l'affichage donne bien 10² dans mon textpane, mais quand j'effectue un copier-coller vers OpenOffice, il ne veut rien savoir.

  10. #10
    Membre Expert
    Avatar de gifffftane
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 354
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 2 354
    Par défaut
    As-tu vérifié que le format HTML de ton texte avait été placé dans le presse papier ?

    Java n'est pas, en soi, une application. C'est toi qui fait l'application. Il y a des choses que Java fait, et d'autres qu'il ne fait pas. Son rôle premier est d'être un outil de développement, mais c'est toi qui développe.

    De plus, (autre possibilité) dans Open Office, as-tu précisé que tu voulais le collé au format html ? Il me semble que Open Office, lorsqu'il y a plusieurs formats disponibles dans le presse papier, donne le choix.

  11. #11
    Membre émérite
    Avatar de c-top
    Profil pro
    Turu
    Inscrit en
    Septembre 2003
    Messages
    972
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Turu

    Informations forums :
    Inscription : Septembre 2003
    Messages : 972
    Par défaut
    Quand j'ouvre le presse papier, dans la liste des formats apparait le format html grisé, de la même manière qu'avec un copier-coller venant d'un navigateur(type ie).
    Par contre apparait aussi deux lignes supplémentaires:
    -UniforResourceLocator
    -JavaDataFlavor:Application/x-java-jvm-...

    Ces lignes ne sont bien-sûr pas présentes lors d'un copier-coller provenant d'un navigateur.

    Dans OpenOffice, il propose aussi le format HTML mais il n'est pas utilisable puisque lorsque j'effectue un collage spécial il renvoie une erreur du type:
    Format presse papier indisponible.

  12. #12
    Membre Expert
    Avatar de gifffftane
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 354
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 2 354
    Par défaut
    Pour les formats UniforResourceLocator et JavaDataFlavor:Application/x-java-jvm- il s'agit de deux formats d'échanges entre applis java.

    Pour le HTML indisponible, là je sais pas : est-il vraiment indisponible, est-il incorrect, est-il...

  13. #13
    Membre émérite
    Avatar de c-top
    Profil pro
    Turu
    Inscrit en
    Septembre 2003
    Messages
    972
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Turu

    Informations forums :
    Inscription : Septembre 2003
    Messages : 972
    Par défaut
    Comment vérifier une de tes hypothèses ?

    Moi j'ai essayé d'ouvrir le presse papier mais bon, pas grand chose à se mettre sous la dent.
    J'ai essayé de créer mon propre clipboard, mais pas mieux....

  14. #14
    Membre Expert
    Avatar de gifffftane
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 354
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 2 354
    Par défaut
    Pour voir le clipboard de ton système, je ne sais pas, mais ce serait une aide que tu puisses y arriver.

    Pour la partie java, qui te permet d'analyse finement le contenu de ce clipboard, tu as Introduction to Drag and Drop and Data Transfer qui te donne les combines.

  15. #15
    Membre émérite
    Avatar de c-top
    Profil pro
    Turu
    Inscrit en
    Septembre 2003
    Messages
    972
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Turu

    Informations forums :
    Inscription : Septembre 2003
    Messages : 972
    Par défaut
    Alors, voilà un très bon exemple de ce qui ne fonctionne pas

    Il suffit de tester l'exemple DragColorFieldDemo, vous tapez un texte puis vous lui attribuez une couleur de votre choix. Pour l'instant tout fonctionne, mais les choses se compliquent quand vous effectuez votre copier-coller,

    - dans OpenOffice le texte est bien copier mais la couleur disparaît, le résultat est donc loin d'être satisfaisant.

    - dans word97: même résultat pas de couleur....

    Dans les deux cas le collage spécial indique texte non formatté; l'exemple de Sun est donc loin d'être au point....
    Si certain veulent bien faire l'essai sur leur bécane, peut-être que d'une installation à l'autre il peut y avoir des différences, notament dans la gestion du clipboard....

  16. #16
    Membre Expert
    Avatar de gifffftane
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 354
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 2 354
    Par défaut
    Si je puis me permettre, est-ce que tu peux comprendre ce que je dis, ou alors je m'exprime mal ?...

    Pour qu'un copié/collé fonctionne, il faut que l'appli qui copie ET l'appli qui colle SE COMPRENNENT. Si le copié / collé ne fonctionne pas, ce n'est pas que l'appli qui copie ou l'appli qui colle ne fonctionne pas, mais que la copie ET le colle ne sont pas compatibles ! Il se peut que l'un ou l'autre fonctionnent. C'est comme deux personnes qui parlent deux langues différentes, qui ne se comprennent pas, quand bien même chacune dit des choses parfaitement justes et cohérentes.

    Ici, à ce que je peux comprendre le code exemple, le format d'échange et soit String (sans couleur bien évidemment), soit DataFlavor.javaJVMLocalObjectMimeType +";class=java.awt.Color" (soit les deux j'ai pas assez approfondi).

    En tous les cas il semble exclu que Microsoft admette un tel format, pas même Open Office, sauf peut être si la JVM tourne avec lui.

  17. #17
    Membre émérite
    Avatar de c-top
    Profil pro
    Turu
    Inscrit en
    Septembre 2003
    Messages
    972
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Turu

    Informations forums :
    Inscription : Septembre 2003
    Messages : 972
    Par défaut
    Je te rassure j'ai bien compris ce que tu dis...

    Et moi je cherche desésperement quelqu'un qui soit capable de m'expliquer comment faire en sorte que les applis se comprennent. Ce qui est à mon sens tout l'interêt du copier coller.

    Le copier coller d'un jTextField vers un autre jTextField euh bof...

  18. #18
    Membre émérite
    Avatar de c-top
    Profil pro
    Turu
    Inscrit en
    Septembre 2003
    Messages
    972
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Turu

    Informations forums :
    Inscription : Septembre 2003
    Messages : 972
    Par défaut
    , personne ne peut m'aider, et je ne trouve pas grand chose sur le sujet

  19. #19
    Membre Expert
    Avatar de xavlours
    Inscrit en
    Février 2004
    Messages
    1 832
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 1 832
    Par défaut
    Bonjour,
    as-tu essayé de copier '10^2' depuis Word97 ou OpenOffice, et d'inspecter le presse-papier depuis Java (contenu, DataFlavors, etc) ? Ca pourrait te donner une indication sur la manière d'exporter ton texte mis en forme dans le TransferHandler.
    "Le bon ni le mauvais ne me feraient de peine si si si je savais que j'en aurais l'étrenne." B.V.
    Non au langage SMS ! Je ne répondrai pas aux questions techniques par MP.
    Eclipse : News, FAQ, Cours, Livres, Blogs.Et moi.

Discussions similaires

  1. [XL-2013] Copier/Coller plage de cellules non-vides vers un autre classeur
    Par Invité dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 08/06/2015, 16h52
  2. copier/coller non commun
    Par flouo dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 05/02/2014, 18h16
  3. [XL-2003] Copier coller en fonction de non vide d'une colonne adjacente
    Par Vadorblanc dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 02/03/2011, 21h43
  4. Copier Coller une ligne d'une table avec modif ?
    Par nolan76 dans le forum Requêtes
    Réponses: 4
    Dernier message: 04/03/2004, 17h34
  5. [Débutant] Conserver la couleur lors d'un copier coller
    Par ADIDASman dans le forum JBuilder
    Réponses: 2
    Dernier message: 21/05/2003, 19h13

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