[Java] TextArea

TextArea [Java] - Programmation

Marsh Posté le 07-02-2002 à 11:43:30    

Comment s'appelle le composant Java semblable à TextArea permettant de colorer le texte ou de le mettre en gras, en italique, ... un peu comme  une fenêtre de Chat de MIRC.

Reply

Marsh Posté le 07-02-2002 à 11:43:30   

Reply

Marsh Posté le 07-02-2002 à 12:00:32    

Si tu regardais le javadoc du jdk et que tu allais dans la classe JTextArea, tu verais qu'il y a deux sous classes, JEditorPane et JTextPane.
 
C'est simple non
 
Réponse à ta question: JTextPane
 
http://java.sun.com/j2se/1.3/docs/ [...] tPane.html


---------------
What is popular is not always right, what is right is not always popular :D
Reply

Marsh Posté le 07-02-2002 à 13:22:51    

Il est pas content le darklord22 :D :D

Reply

Marsh Posté le 07-02-2002 à 14:09:09    

Darklord : Ouais, sauf s'il veut faire une applet qui ne nécessite pas le téléchargement du plugin java2....
A ce moment là, ça existe pas en standart dans l'AWT, et il faut le refaire....Je l'ai fait pour le boulot, j'arrive à afficher de toutes les couleurs, à changer la fonte, la taille, à mettres des liens cliquables, et à inclure des images au milieu du texte (reste encore à les animer, c'est la prochaine étape)...Et bon, j'ai pas mal galéré pour les problèmes de clipping, de scrolling, etc...mais ça marche, donc, on peut le faire! :D

Reply

Marsh Posté le 07-02-2002 à 15:33:33    

gfive > ca m'intéresse de savoir comment tu as fait ca...


---------------
"There's not such a thing as a stupid question, only stupid people..."
Reply

Marsh Posté le 07-02-2002 à 15:46:09    

bah oui, mais c pour le boulot, alors je peux pas te passer le code!!  
 
Bon, en gros, ça repose sur le même principe que du Swing : y'a une classe Document qui contient le texte, et dans lequel je fais les ajouts....C'est jamais qu'un vecteur (oui pasque java 1.1.5 oblige, pas d'arraylist et autres joyeusetés) qui contient des objets qui décrivent le texte et son format.
Ensuite, y'a une classe graphique, qui dessine le contenu du Document...En fait, elle dessine pas vraiment : elle recompose le document en fonction de ses propres attributs (taille, valeurs de scrolling, etc) pour que les différentes parties de texte soient bien rendues (retour à la ligne, etc, etc...) Popur obtenir les caractéristiques graphiques d'un bout de texte, la classe qui dessine demande à un renderer, qui lui sait dessiner le contenu du texte. (c'est lui qui va remplacer les codes de smiley par les images, nottament, et dire que la taille en pixels d'un smiley, c'est la taille de l'image, et pas la taille du texte, histoire que les lignes ne se recouvrent pas).  
Donc, la classe graphique demande au renderer de lui recomposer un vecteur de données, reformaté selon la méthode de rendering, et les caractères de la zone graphique, puis, elle parcourt ce nouveau vecteur, et dessine les lignes que lui a préparé le renderer au bon endroit.....
 
Bon, je sais, ça a l'air un peu tordu comme ça, mais ça marche, et finalement, c'est assez portable et réutilisable : on peut facilement changer de renderer, ou de modèle de document.....
 
Après, par dessus, y'a d'autres trucs, comme la possibilité de cliquer sur certaines parties de texte, mais c'est assez simple : c'est des ajouts spéciaux dans le document, que la zone graphique traite de façon particulière : elle ajoute les coordeonnées du texte qui  compose le lien dans une liste, et avec une bête gestion d'évènements de souris, hop, ça fait des liens.
 
Reste à implémenter le copier/coller, (bon, au moins le copier), et à réussir à animer plus de 6 images à la fois!!  
 
Sinon, niveau implémentation, bah, la zone graphique, c'est un canvas, avec du dessin dessus, en double buffering.
 
Dans le même genre, j'ai fait une GTable, qui ressemble à la JTable : affichage d'images, de couleurs, de booléens, et edition des valeurs)
 
Faudra que je mette une démo en ligne,n un jour!! :D

Reply

Marsh Posté le 07-02-2002 à 15:51:30    

c'est bonnard !!!! j'ai tout compris ! Intéressant ! reprend le brevet à ta boite :p


---------------
"There's not such a thing as a stupid question, only stupid people..."
Reply

Marsh Posté le 07-02-2002 à 16:15:44    

Sinon si je veux un composant qui ressemble à textarea mais où il y a seulement les couleurs qui changent (sans gras, italique, police, ...), il y en a pas un autre ?

Reply

Marsh Posté le 07-02-2002 à 16:34:23    

En AWT, j'ai peur que non!! Enfin, j'espère, pasque sinon, ça veut vraiment dire que je me serais fait chier pour pas grand chose!! :D

Reply

Marsh Posté le 07-02-2002 à 16:38:36    

A tout hasard, je demanderais à mon patron si ça le dérange pas que je diffuse ce code....C'est vraiment pas la partie "confidentielle" du soft, et en plus, j'en ai écrit les 3/4 chez moi!! :D

Reply

Marsh Posté le 07-02-2002 à 16:38:36   

Reply

Marsh Posté le 07-02-2002 à 18:44:03    

Cherrytree a écrit a écrit :

Il est pas content le darklord22 :D :D  




 
moi ?  :ange:  
 
 :D  
 
 :hello:


---------------
What is popular is not always right, what is right is not always popular :D
Reply

Sujets relatifs:

Leave a Replay

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