[JLabel]Lui donner la taille occupée par le texte
Bonsoir à tous,
je suis en train de faire une petite applet de texte défilant pour mon site.
Aucun problème pour la mettre en place, mais cela se corse lorsque j'essaie d'ajouter des fonctionnalités.
Elle fonctionne comme ceci: j'ai un tableau qui stocke plusieurs chaines de caractères. La première chaine est placée dans un JLabel, que je déplace verticalement avec la méthode setLocation (le container parent a un layout null) à intervalles réguliers. Une fois arrivé en position extrême, je change la chaine du label, le replace en position de départ et recommence mon déplacement.
Mon problème est que, puisque la taille de chaque chaine et son formatage sont variables, et qu'elle peut même s'étendre sur plusieurs lignes, je dois trouver un moyen pour connaitre la taille occupée par le texte.
J'ai essayé d'implémenter le fonctionnement suivant: lors du changement de chaine de caractère, je place de façon temporaire le label dans un container (non affiché à l'écran) muni d'un FlowLayout. Ensuite, je le retire et le replace dans mon applet. Normalement, le FlowLayout devrait redimensionner automatiquement mon label en fonction de son contenu, mais cela ne fonctionne pas...
Je ne suis pas sûr que tout le monde m'ait compris mais... Est-ce que quelqu'un a une idée ? ou une explication ?
:merci: d'avance :wink:
Re: [JLabel]Lui donner la taille occupée par le texte
Bonjour,
Citation:
Envoyé par Pill_S
je place de façon temporaire le label dans un container (non affiché à l'écran) muni d'un FlowLayout.[...]Normalement, le FlowLayout devrait redimensionner automatiquement mon label en fonction de son contenu, mais cela ne fonctionne pas...
Non, c'est le BorderLayout qui fait prendre au contrôle tout la place disponible.
:ccool:
http://membres.lycos.fr/bigboomshaka...ar-gif-311.gif Enjoy yourself !
Re: [JLabel]Lui donner la taille occupée par le texte
Citation:
Envoyé par bigboomshakala
Non, c'est le BorderLayout qui fait prendre au contrôle tout la place disponible.
vi, je sais :wink:
mon but n'est pas de lui faire prendre toute la place disponible, mais uniquement celle nécessaire à l'affichage du texte !
--> FlowLayout dans un Container masqué --> ajout du JLabel dedans --> devrait se redimensionner tout seul --> puis je le retire et l'ajoute au contentPane de mon applet --> donc mon label devrait avoir la bonne taille...
mais 'a marche pôô... snif !