retour a la ligne automatique dans un JLabel

retour a la ligne automatique dans un JLabel - Java - Programmation

Marsh Posté le 15-04-2005 à 15:58:11    

Bonjour,
J'ai un JLabel dans un JPanel. La taille de mon JLabel est variable, je ne connais pas la chaine de caractères qu'il contient. Ma frame elle, a une largeur fixée à 500. Malheureusement qd la chaine de caractère dépasse cette taille, la JScrollBar Horizontale apparait plutot que de faire un JLabel sur deux lignes. Connaissez vous un moyen de faire le contraire?
Merci

Reply

Marsh Posté le 15-04-2005 à 15:58:11   

Reply

Marsh Posté le 15-04-2005 à 15:59:13    

faire sa propre classe MyJLabel ?

Reply

Marsh Posté le 15-04-2005 à 16:11:13    

Code :
  1. package test;
  2. import javax.swing.*;
  3. import java.awt.*;
  4. public class LAla extends JFrame
  5. {
  6.     public LAla()
  7.     {
  8.         super("LAla" ); 
  9.         getContentPane().setLayout(new FlowLayout());
  10.        
  11.         JLabel longLabel = new JLabel();
  12.  longLabel.setText("<html><body>hihi <p><b>" +
  13.                   "<font size=\"+2\">hoho</font>" +
  14.                   "</b><p>hihi</body></html>" );
  15.  getContentPane().add(longLabel);
  16.         getContentPane().add(new JLabel("<html>oui<br> non</html>" ));
  17.         pack();
  18.         show();
  19.     }
  20.     public static void main(String[] arg)
  21.     {
  22.         LAla m = new LAla();   
  23.     }
  24. }


Tu peux tester ca


---------------
°o° It only hurts if you survive  °o°
Reply

Marsh Posté le 15-04-2005 à 16:21:17    

Je ne comprend pas ta reponse MadShark puisque j'ai dit que je ne connaissais pas la taille de la chaine a l interieur du JLabel (si tu veu j'inclu un new JLabel(s) ou s est un string qu'il trouve en lisant un fichier->d'ou le fait que je ne connais pas la longueur)
Donc je ne peu pas faire de <br> moi meme.  
 
Merci noldor mais je redoutais cette reponse, merde.
Et meme dans ce cas comment tu fais pour faire un retour a la ligne(<br> ) tout les 500 pixels, puisque pour l instant j'ai reussi a faire que tous les X caractéres( et comme les caracteres n ont pas tous la meme longueur c est pas beau)


Message édité par le_moustiq le 15-04-2005 à 16:23:56
Reply

Marsh Posté le 15-04-2005 à 16:36:30    

ouais moi c'etait des chiffres dc c'etait plus facile...
Sinon pk t'utilises pas un JTextArea setEditable(false)?


---------------
°o° It only hurts if you survive  °o°
Reply

Marsh Posté le 18-04-2005 à 15:27:21    

Je ne sais pas pkoi mais meme avec un JTextArea et setMaximumSize il m'ecrit tout le text a l'interieur sur une seul ligne avec un scroll bar

Reply

Marsh Posté le 18-04-2005 à 15:45:47    

sinon tu peu utiliser un JTextArea avec les méthodes setLineWrap(boolean) et setWrapStyleWord(boolean) de la classe javax.swing.JTextArea :  
 
/** On souhaite un retour à ligne automatique : */
monTextArea.setLineWrap(true);
 
/** On souhaite que les mots ne soient pas coupés : */
monTextArea.setWrapStyleWord(true);

Reply

Marsh Posté le 18-04-2005 à 16:44:07    

Merci beaucoup, je ne connaissais pas ces deux fonctions et ca marche niquel, mon niveau d'anglais est vraiment pas terrible et j'avais pas bien compris qd j avais regardé ces fonctions.


Message édité par le_moustiq le 18-04-2005 à 16:44:44
Reply

Sujets relatifs:

Leave a Replay

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