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 :

[JEditorPane] Problème de copier/coller


Sujet :

AWT/Swing Java

  1. #1
    Membre régulier
    Inscrit en
    Juillet 2002
    Messages
    194
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 194
    Points : 102
    Points
    102
    Par défaut [JEditorPane] Problème de copier/coller
    Dans mon appli j'ai un JEditorPane qui permet d'éditer du texte en RTF. Mon probleme c'est que lorsqu'on copie du texte dans ce JEditorPane (depuis wordpad par exemple), le texte conserve bien son formatage (couleur, police, attributs, etc...) sauf que :
    1- la taille de la police est perdue, le texte apparait en police 8 quelque soit la taille de la police du texte d'origine.
    2- le texte est systématiquement collé à la fin du document.

    J'ai cherché partout sur le net une solution mais pas moyen, je seche...

  2. #2
    Membre extrêmement actif Avatar de jojodu31
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    875
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2008
    Messages : 875
    Points : 814
    Points
    814
    Par défaut
    as tu essayé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MonJEditorPane.paste();
    ??

  3. #3
    Membre régulier
    Inscrit en
    Juillet 2002
    Messages
    194
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 194
    Points : 102
    Points
    102
    Par défaut
    oui, je ne connais pas d'autres méthodes pour coller du texte dans un champ de saisie.

  4. #4
    Membre extrêmement actif Avatar de jojodu31
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    875
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2008
    Messages : 875
    Points : 814
    Points
    814
    Par défaut
    c'est bizarre
    il n'y a pas 10000 instructions à faire à part paste() et copy() ... je ne vois pas ce qui peut interférer ... j'ai moi même développe un petit éditeur il y a peu et je n'ai aucun soucis ...
    tu peux trouver les sources de cet éditeur sur developpez.net ici même ... je ne sais plus où exactement mais fais une recherche tu le trouveras de suite ça pourra t'aider peut être

  5. #5
    Membre régulier
    Inscrit en
    Juillet 2002
    Messages
    194
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 194
    Points : 102
    Points
    102
    Par défaut
    desole, je ne retrouves pas tes sources.

    Remarque : je précise bien qu'il s'agit de contenu RTF je n'ai pas de probleme lorsque je copie du contenu plain text.

  6. #6
    Membre extrêmement actif Avatar de jojodu31
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    875
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2008
    Messages : 875
    Points : 814
    Points
    814
    Par défaut
    voici le lien :
    editeur

    cela dit ce n'est effectivement pas testé pour du RTF j'avais pas vu que c'était ton pb... j'espère que cela t'aidera quand même...

  7. #7
    Membre régulier
    Inscrit en
    Juillet 2002
    Messages
    194
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 194
    Points : 102
    Points
    102
    Par défaut
    Voila une classe de test qui permet de reproduire mon probleme :

    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
     
    import java.awt.BorderLayout;
    import java.awt.Color;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.IOException;
     
    import javax.swing.JEditorPane;
    import javax.swing.JFrame;
    import javax.swing.JPanel;
    import javax.swing.JScrollPane;
    import javax.swing.text.BadLocationException;
    import javax.swing.text.rtf.RTFEditorKit;
     
    public class RTFView extends JFrame {
      public RTFView() {
        setSize(400, 240);
        setBackground(Color.gray);
        getContentPane().setLayout(new BorderLayout());
     
        JPanel topPanel = new JPanel();
        topPanel.setLayout(new BorderLayout());
        getContentPane().add(topPanel, BorderLayout.CENTER);
     
        // Create an RTF editor window
        RTFEditorKit rtf = new RTFEditorKit();
        JEditorPane editor = new JEditorPane();
        editor.setEditorKit(rtf);
        editor.setBackground(Color.white);
     
        // This text could be big so add a scroll pane
        JScrollPane scroller = new JScrollPane();
        scroller.getViewport().add(editor);
        topPanel.add(scroller, BorderLayout.CENTER);
     
     
      }
     
      public static void main(String args[]) {
        // Create an instance of the test application
        RTFView mainFrame = new RTFView();
        mainFrame.setVisible(true);
      }
    }

    Il suffit de copier un bout de code saisi dans wordpad (avec formattage rtf : gras, souligné, couleur, etc.) et de le copier/coller dans le champ de saisie.
    Si vous avez le même pb que moi vous devriez constater le même pb que moi : le formatage est respecté mais la police est bcp plus petite !

  8. #8
    Membre éprouvé Avatar de laurentibus
    Inscrit en
    Mars 2008
    Messages
    875
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Mars 2008
    Messages : 875
    Points : 908
    Points
    908
    Par défaut
    y as t il un moyen de redéfinir la méthode paste() ?
    si oui essaye de prendre les configuration d entree et de les conserver

  9. #9
    Membre régulier
    Inscrit en
    Juillet 2002
    Messages
    194
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 194
    Points : 102
    Points
    102
    Par défaut
    je crois que je vais laissé tomber, la gestion du RTF en Java est vraiment trop moisie.
    On ne peut pas faire de copier/coller (perte du formatage), la moitié des balises n'est pas reconnue, et j'en passe...

  10. #10
    Membre éprouvé Avatar de laurentibus
    Inscrit en
    Mars 2008
    Messages
    875
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Mars 2008
    Messages : 875
    Points : 908
    Points
    908
    Par défaut
    oui c'est toujours le pb avec les "langages ou toutes autres choses " à l abandon ....
    mais je pense quand meme que tu devrais pouvoir redefinir la methode paste , tu analyse l entrée ( balise + texte ) tu traduit tout ca et tu colle a mon avis c'est possible mais surement chiant .. moi j 'ai fait ca avec du PDF en entree ... y as plein de balise super aussi mais au moins y a la doc adobe ....

Discussions similaires

  1. Problème de copier/coller
    Par GDMINFO dans le forum Excel
    Réponses: 1
    Dernier message: 03/02/2009, 10h59
  2. encore un problème de copier coller!
    Par beebe dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 30/06/2008, 15h45
  3. Problème de copier coller un texte
    Par Le Tigre dans le forum Windows XP
    Réponses: 8
    Dernier message: 03/06/2008, 08h40
  4. Problème de copier coller
    Par The_link dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 02/01/2008, 17h56
  5. probléme de copier/coller
    Par lindette dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 13/10/2007, 14h39

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