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 :

Balise vide dans un JTextPane


Sujet :

Composants Java

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 4
    Points : 4
    Points
    4
    Par défaut Balise vide dans un JTextPane
    Bonjour à tous, voila un moment que je cherche une solution à mon problème, toujours sans résultat.
    Je travail avec le composant JTextPane, en mode html et je ne parviens pas à empêcher le composant de supprimer les balises vides en fin de document à chaque rechargement de document.

    Je vous laisse un exemple afin de mieux comprendre le problème.
    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
     
     
    public class SuppressionBalise {
     
    	public static void main(final String[] args) {
    		JFrame f = new JFrame();
     
    		JTextPane jtp = new JTextPane();
    		jtp.setContentType("text/html;charset=UTF-8");
    		jtp.setText("<html><head></head><body><p>text</p><p></p><p></p><p></p><p></p><p></p></body></html>");
    		f.getContentPane().setLayout(new BorderLayout());
    		f.getContentPane().add(jtp, BorderLayout.CENTER);
     
    		System.out.println(jtp.getText());
     
    		jtp.setText(jtp.getText());
    		jtp.setText(jtp.getText());
    		jtp.setText(jtp.getText());
     
    		System.out.println(jtp.getText());
     
    		f.pack();
    		f.setVisible(true);
    	}
     
    }
    A part quelques bidouilles je ne parviens pas à corriger ce problème. Je ne tiens pas non plus à redévelopper le Parseur du HTMLDocument. Auriez vous déjà rencontré ce problème ?

    Merci.

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    299
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2009
    Messages : 299
    Points : 422
    Points
    422
    Par défaut
    Le problème ne survient que pour la dernière ligne.
    Preuve en est que si tu rajoutes un caractère après ton dernier <p></p>, ta structure ne sera pas modifiée.

    Je pense que la gestion de cette dernière ligne vide a été gérée un peu de la même façon que sont gérés les caractères d'espacement.
    En effet, si tu ajoutes un espace dans une balise sans aucun autre caractère, cet espace sera considéré comme inexistant.

    Je te propose donc d'ajouter à la suite de tes <p></p> un caractère non visible, mais qui restera présent : &nbsp; par exemple.

    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
    	public static void main(String[] args) {
    		JFrame f = new JFrame();
     
    		JTextPane jtp = new JTextPane();
    		jtp.setContentType("text/html;charset=UTF-8");
    		jtp.setText("<html><head></head><body><p>text</p><p></p><p></p><p></p><p></p><p></p>&nbsp;</body></html>");
    		f.getContentPane().setLayout(new BorderLayout());
    		f.getContentPane().add(jtp, BorderLayout.CENTER);
     
    		System.out.println(jtp.getText());
     
    		jtp.setText(jtp.getText());
    		jtp.setText(jtp.getText());
    		jtp.setText(jtp.getText());
     
    		System.out.println(jtp.getText());
     
    		f.pack();
    		f.setVisible(true);
    	}
    Serte ce n'est pas joli comme solution, mais je n'en connais pas d'autre personnellement

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 4
    Points : 4
    Points
    4
    Par défaut
    J'avais déjà pensé à cette éventualité mais vu que j'utilise je JTextPane dans le cadre d'un projet d'édition de rapport distribué, je ne peux pas me permettre de faire apparaître un espace dans le document . Je te remercie pour ta réponse, je vais continuer à chercher une solution.

Discussions similaires

  1. Insertion image dans un JTextPane avec balise html img
    Par Invité dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 10/01/2012, 16h04
  2. [Aide Java] Balise html dans un JTextPan
    Par Invité dans le forum Langage
    Réponses: 10
    Dernier message: 01/12/2011, 19h05
  3. Ajout d'une balise HTML dans un JTextPane
    Par adriien dans le forum AWT/Swing
    Réponses: 4
    Dernier message: 04/03/2008, 10h56
  4. obliger de definir un xmlns vide dans ma balise
    Par snopims_ dans le forum XML/XSL et SOAP
    Réponses: 1
    Dernier message: 07/01/2008, 22h47
  5. Balises HTML dans un fichier XML
    Par Bastet79 dans le forum XML/XSL et SOAP
    Réponses: 12
    Dernier message: 04/09/2002, 15h29

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