JEditorPane et couleur du texte [Java] - Java - Programmation
Marsh Posté le 26-02-2007 à 19:35:04
de ce que j'avais fait :
ajouter un style au document :
Code :
|
(bon ok, 2 styles)
puis à l'utilisation je créé l'attributeSet à partir du style.
c'est dans ce merdier :
http://opensvn.csie.org/jcoincoin/ [...] neGUI.java
Marsh Posté le 26-02-2007 à 19:56:21
ah ok...j'avais bien vu ce truc du style, mais j'avais pas compris comment créer un style...en fait tu le crées, et tu le tune après...
je sais pas ce que t'en penses, mais je la trouve imbitable cette API document...c'est surement très puissant, mais c'est pas accessible
Merci pour le code
Marsh Posté le 26-02-2007 à 20:42:36
bon ca marche, mais j'ai une autre couille...je voudrais que chaque entrée soit une ligne nouvelle...si j'ajoute le texte ca marche, mais si je rajoute un "\n", ca déconne, je me prend une bad location exception...
lol...pour une raison que j'ai pas trop le temps de chercher :
getText().length renvoit un offset pourri si ton texte se termine par un linefeed...
alors que document.getLength() renvoit un offset correct...
Marsh Posté le 26-02-2007 à 20:54:36
y'a une grosse feinte à la con sur la fin du Document je crois, va voir la javadoc. Mais ça lève un drapeau rouge dans ma mémoire.
Marsh Posté le 26-02-2007 à 21:12:42
http://java.sun.com/j2se/1.4.2/doc [...] Position()
yes, voilà, quand on prend une position dans le document, elle peut bouger toute seule si on insère ou supprime du texte avant, il faut donc faire gaffe à pas conserver des références invalides. Et appeller getEndPosition pour faire son insertion à la fin du document.
Marsh Posté le 27-02-2007 à 11:33:08
ok...donc c'est encore une 3ème méthode...pas très orthogonal tout ça, mais bon...
je vais prendre ça du coup
hannn, ca déconne...
getDocument().getEndPosition().getOffset() retourne 1 sur un document vide, et ça plante...
sans que je comprenne pkoi, il faut mettre -1 à la valeur de l'offset et ça marche...
Marsh Posté le 26-02-2007 à 14:42:43
Je me perds dans cette interface.
Je veux faire un truc a priori tout simple :
j'ai un JEditorPane, et je veux y rajouter des lignes...mes lignes peuvent avoir 3 couleurs différentes...
j'ai compris qu'il fallait que je passe par le document, mais j'arrive pas à utiliser la méthode insertString.
J'ai essayé ça :
l'offset est bon, le texte aussi, mais je comprends pas quoi mettre comme AttributeSet. J'ai essayé de rajouter un attribut dans l'attributeSet. Visiblement ca marche avec un système de clé + valeur. Je crois avoir compris comment spécifier la clé, mais pas la valeur...au final j'ai ça :
mais ca change rien, mon texte est toujours noir...
---------------
Jubi Photos : Flickr - 500px