Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3028 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  [Java] HTMLDocument modifié, mais balises affichées [résolu]

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Java] HTMLDocument modifié, mais balises affichées [résolu]

n°501738
Krueger
tout salaire demande dutravail
Posté le 29-08-2003 à 15:14:26  profilanswer
 

Bonjour,
 
J'ai créé un objet de type HTMLDocument qui est partagé entre divers autres objets. Lorsque je le modifie, il n'est pas réanalysé par son JEditorPane et est donc affiché tel quel, avec toutes les balises HTML.
Comment régler mon problème ?
 

Code :
  1. HTMLDocument htmlDocument = new HTMLDocument();
  2.    
  3.     ...
  4.     JEditorPane pane = new JEditorPane();
  5.    
  6.     pane.setContentType("text/html" );
  7.     pane.setDocument(htmlDocument);
  8.     pane.setEditable(false);
  9.     ...


Mise à jour du document :

Code :
  1. htmlDocument.remove(0, htmlDocument.getLength());
  2.     htmlDocument.insertString(0, newHtmlContent, null);


Message édité par Krueger le 01-09-2003 à 10:43:53

---------------
"Colère et intolérance sont les ennemis d'une bonne compréhension." Gandhi
mood
Publicité
Posté le 29-08-2003 à 15:14:26  profilanswer
 

n°501798
the real m​oins moins
Posté le 29-08-2003 à 15:57:32  profilanswer
 

tu dois refaire setDocument non?
 
sinon regarde le source de cette methode, d'apres la doc, elle trigger un event pour refresher l'affichage...


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°501917
Krueger
tout salaire demande dutravail
Posté le 29-08-2003 à 17:18:09  profilanswer
 

C'est pas très propre, mais ça ne marche pas non plus. Je vais tenter de spécifier un HTMLEditorKit pour voir ce que ça donne...


---------------
"Colère et intolérance sont les ennemis d'une bonne compréhension." Gandhi
n°501938
Krueger
tout salaire demande dutravail
Posté le 29-08-2003 à 17:29:05  profilanswer
 

Ça n'affiche plus rien ! :cry:
 

Code :
  1. HTMLEditorKit editorKit = new HTMLEditorKit();
  2.     Document htmlDocument = editorKit.createDefaultDocument();
  3.     JEditorPane pane = new JEditorPane();
  4.    
  5.     pane.setContentType("text/html" );
  6.     pane.setDocument(htmlDocument);
  7.     pane.setEditable(false);
  8.     pane.setEditorKit(editorKit);



---------------
"Colère et intolérance sont les ennemis d'une bonne compréhension." Gandhi
n°502040
veryfree
Posté le 29-08-2003 à 18:28:05  profilanswer
 

essaye ca :
 

Code :
  1. insertHTML(text, doc.getLength());
  2. private void insertHTML(String html, int location) throws IOException {
  3.         try {
  4.             HTMLEditorKit kit = (HTMLEditorKit) this.getEditorKit();
  5.             StringReader reader = new StringReader(html);
  6.             kit.read(reader, doc, location);
  7.         } catch (BadLocationException e) {
  8.             logger.error("Failed to insert HTML", e);
  9.         }
  10.     }



Message édité par veryfree le 29-08-2003 à 18:29:14
n°503820
Krueger
tout salaire demande dutravail
Posté le 01-09-2003 à 09:44:43  profilanswer
 

Toujours pas mis en forme ; les balises restent affichées. :sweat:
Ce que j'essaie de faire actuellement est de remplacer tout le contenu HTML, dans le cas où.


Message édité par Krueger le 01-09-2003 à 09:45:58

---------------
"Colère et intolérance sont les ennemis d'une bonne compréhension." Gandhi
n°503889
Krueger
tout salaire demande dutravail
Posté le 01-09-2003 à 10:43:53  profilanswer
 

C'est bon ça marche. J'avais viré le setEditorKit() sans savoir pourquoi. :heink:
 

Code :
  1. HTMLEditorKit editorKit = new HTMLEditorKit();
  2.     Document htmlDocument = editorKit.createDefaultDocument();
  3.     // Avec 'new HTMLDocument()' ça marche aussi.
  4.     JEditorPane pane = new JEditorPane();
  5.    
  6.     pane.setDocument(htmlDocument);
  7.     pane.setEditable(false);
  8.     pane.setEditorKit(editorKit);


... et en "readant" la chaîne HTML comme me l'a proposé veryfree, ça marche. [:youpi]


Message édité par Krueger le 01-09-2003 à 13:51:18

---------------
"Colère et intolérance sont les ennemis d'une bonne compréhension." Gandhi
n°503959
Krueger
tout salaire demande dutravail
Posté le 01-09-2003 à 11:39:45  profilanswer
 

Un problème qui m'est apparu : Un méchant CharsetchangedException dû au fait que ma page HTML possédait une balise META indiquant son Content-Type. Pour éviter ça, une solution est d'ajouter la propriété IgnoreCharsetDirective au document :

Code :
  1. document.putProperty("IgnoreCharsetDirective", Boolean.TRUE);


 
Autre remarque, il faut spécifier le document après le kit d'édition, sinon la page peut ne pas être mise à jour correctement.


---------------
"Colère et intolérance sont les ennemis d'une bonne compréhension." Gandhi
n°504088
veryfree
Posté le 01-09-2003 à 13:15:46  profilanswer
 

Krueger a écrit :

C'est bon ça marche. J'avais viré le setEditorKit() sans savoir pourquoi. :heink:
 

Code :
  1. HTMLEditorKit editorKit = new HTMLEditorKit();
  2.     Document htmlDocument = editorKit.createDefaultDocument();
  3.     // Avec 'new HTMLDocument()' ça marche aussi.
  4.     JEditorPane pane = new JEditorPane();
  5.    
  6.     pane.setDocument(htmlDocument);
  7.     pane.setEditable(false);
  8.     pane.setEditorKit(editorKit);


... et en "readant" la chaîne HTML comme me l'a proposé antp, ça marche. [:youpi]


 
ANTP  :heink:

n°504119
Krueger
tout salaire demande dutravail
Posté le 01-09-2003 à 13:51:18  profilanswer
 

Oups, désolé. :lol: :lol: :lol:
Illico corrigé. :whistle:
 
Je n'ai rien en tête pour vous différencier, alors il y a eu une permutation involontaire. :o


---------------
"Colère et intolérance sont les ennemis d'une bonne compréhension." Gandhi
mood
Publicité
Posté le 01-09-2003 à 13:51:18  profilanswer
 

n°504128
veryfree
Posté le 01-09-2003 à 13:59:38  profilanswer
 

Krueger a écrit :

Oups, désolé. :lol: :lol: :lol:
Illico corrigé. :whistle:
 
Je n'ai rien en tête pour vous différencier, alors il y a eu une permutation involontaire. :o


 
yes :sol:
 
je crois que j'ai droit a un bon point la  :whistle:

n°504325
Krueger
tout salaire demande dutravail
Posté le 01-09-2003 à 16:50:42  profilanswer
 

Bon, si tu y tiens...


---------------
"Colère et intolérance sont les ennemis d'une bonne compréhension." Gandhi
n°504576
veryfree
Posté le 01-09-2003 à 23:44:31  profilanswer
 

Krueger a écrit :

Bon, si tu y tiens...


 
oui j y tiens :o

n°504577
the real m​oins moins
Posté le 01-09-2003 à 23:47:46  profilanswer
 

ça vaut vraiment un point pour veryfree ça? [:meganne]
je demande l'avis des jurés :o
 
(je trouve la solution un peu porc; on est vraiment obligé de relire tout l'html? :/)


Message édité par the real moins moins le 01-09-2003 à 23:48:19

---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°504580
veryfree
Posté le 01-09-2003 à 23:58:24  profilanswer
 

the real moins moins a écrit :

ça vaut vraiment un point pour veryfree ça? [:meganne]
je demande l'avis des jurés :o
 
(je trouve la solution un peu porc; on est vraiment obligé de relire tout l'html? :/)


 
 
c pas ce que fait ma methode [:toad666]

n°504581
the real m​oins moins
Posté le 02-09-2003 à 00:03:13  profilanswer
 

veryfree a écrit :


 
 
c pas ce que fait ma methode [:toad666]

ha bon :??:
 
ça manque de javadoc alors :o
 
(tu veux un mauvais point? :heink:)


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°504590
veryfree
Posté le 02-09-2003 à 00:21:05  profilanswer
 

the real moins moins a écrit :

ha bon :??:
 
ça manque de javadoc alors :o
 
(tu veux un mauvais point? :heink:)


 
laisse tomber  :pfff:

n°504595
the real m​oins moins
Posté le 02-09-2003 à 00:39:53  profilanswer
 

veryfree a écrit :


 
laisse tomber  :pfff:  

roh l'aut' !
serieux explique ;)


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°504598
veryfree
Posté le 02-09-2003 à 00:41:47  profilanswer
 

the real moins moins a écrit :

roh l'aut' !
serieux explique ;)


 
sur icq :o

n°505737
Krueger
tout salaire demande dutravail
Posté le 02-09-2003 à 20:35:26  profilanswer
 

Bon, allez vous battre sur ICQ alors. Ça me permettrait ainsi d'économiser un point. :whistle:


---------------
"Colère et intolérance sont les ennemis d'une bonne compréhension." Gandhi

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  [Java] HTMLDocument modifié, mais balises affichées [résolu]

 

Sujets relatifs
Java et question technique pour génération de Panels à la volée[Java][Swing] Double événement de sélection de valeur
[Java][Swing] Layout continu d'une fenêtre[Java] On maurait menti? (jdk)
Java/XML : Le Parser de Sun ?Interet de JAVA pour le web comparé au PHP ou a l'ASP
[Java] Conversion Jpg, Gif, Bmp[PHP] Effectuer une requête sur une page distante. (résolu)
[Resolu] [C++ / thread / windows] Demarrer une methode en Thread ?valeur d'un cookie [resolu] nv question voir msg 11
Plus de sujets relatifs à : [Java] HTMLDocument modifié, mais balises affichées [résolu]


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR