jtextpane et html : changer la couleur d'un mot en particulier

jtextpane et html : changer la couleur d'un mot en particulier - Java - Programmation

Marsh Posté le 18-05-2005 à 09:58:33    

Bonjour,
J'ai un JTextPane qui contient de l'html. Je veux pouvoir changer la couleur d'un mot du texte SANS avoir à selectionner ce mot. Le texte est parcouru mot par mot et quand on rencontre le bon (c'est a dire quand on rencontre un mot contenu dans la base de données), sa couleur doit changer. Pourriez vous m'aider?

Code :
  1. ...
  2. public HTMLEditorKit k = new HTMLEditorKit();
  3. public HTMLDocument doc = (HTMLDocument)k.createDefaultDocument();
  4. ...
  5. zone_texte = new JTextPane ();
  6. zone_texte.setContentType("text/html" ); 
  7. zone_texte.setEditable (true);
  8. zone_texte.setEditorKit(k);
  9. zone_texte.setDocument(doc);
  10. ...
  11. public void itemStateChanged(ItemEvent e) {
  12. ...
  13. String contenu = zone_texte.getText();
  14. StringTokenizer st = new StringTokenizer(contenu," ,;." );
  15. while (st.hasMoreTokens()) {
  16.     String token = st.nextToken();
  17.     if (source == checkbox1) {
  18.         ResultSet rs = statement.executeQuery("select * from table1" );
  19.         while(rs.next()){
  20.         String s = rs.getString("name" );
  21.         if (s.equalsIgnoreCase(token)){
  22.                 zone_texte.setText("<font color=\"0000ff\"><%=token></font>" );
  23. //à l'execution, ça ecrit %=token en bleu
  24. //et il n'y a plus le texte original à cause du setText()
  25. //je voudrais que le texte original apparaisse toujours
  26. //et que le mot correspondant au token (et non pas le mot token)soit ecrit en bleu
  27.       }       
  28.    }             
  29.     }
  30. ...
  31. }
  32. ...
  33. }


merci de votre aide

Reply

Marsh Posté le 18-05-2005 à 09:58:33   

Reply

Marsh Posté le 18-05-2005 à 11:15:54    

j'ai modifié des trucs:
 
if (s.equalsIgnoreCase(token)){
String token_modifie ="<font color=\"0000ff\">"%=token"</font>";
contenu = contenu.replaceAll(token,token_modifie);
...
 
mais j'ai une erreur : "</font>";
c'est probablement du aux guillemets.
dc savez vous comment mettre du html ds une variable en  java? j'ai vu sur le forum d'utiliser % mais ça doit pas etre tout a fait comme ça...
Merci

Reply

Marsh Posté le 18-05-2005 à 12:09:46    

bon ben g trouvé. fo pas utiliser %= mais +

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed