2013-04-28 5 views
0

J'ai un problème pour afficher plusieurs lignes dans Jlabel. J'ai essayé d'utiliser la balise html et cela ne m'a pas aidé. Je me demande juste pourquoi le code suivant ne fonctionne pas. J'ai utilisé <br> tag et jusqu'à ce qu'il affiche dans une ligne. Toute aide s'il vous plaît ...Afficher plusieurs lignes de texte dans JLabel

code Java est la suivante Mon

package p1; 
import javax.swing.*; 
import java.awt.*; 

public class MemoryUtil 
{ 
    private static final int MegaBytes = 10241024; 

    public static void main(String args[]) 
    { 

     long freeMemory = Runtime.getRuntime().freeMemory()/MegaBytes; 
     long totalMemory = Runtime.getRuntime().totalMemory()/MegaBytes; 
     long maxMemory = Runtime.getRuntime().maxMemory()/MegaBytes; 

     String data=""; 
     data= data + " <html> JVM Free Memory: " + Long.toString(freeMemory)+" MB <br>"; 
     data=data + "Initial Heap Size of JVM : "+ Long.toString(totalMemory) +" MB <br>"; 
     data= data + " Maximum Heap Size <br>of JVM: " + Long.toBinaryString(maxMemory) +" MB </html>"; 
     createAndShowGUI(data); 
    } 

    private static void createAndShowGUI(String input) 
    {  
     JFrame frame = new JFrame("JVM Setting of your Machine "); 
     frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
     frame.setLayout(new GridLayout()); 
     frame.setSize(new Dimension(450, 400)); 
     frame.setLocation(new Point(400, 200)); 
     frame.setResizable(true); 

     JLabel label = new JLabel(input); 
     label.setFont(new Font("Serif", Font.BOLD, 20)); 
     label.setHorizontalAlignment(JLabel.CENTER);  
     frame.add(label);   
     frame.setVisible(true); 
    } 
} 
+0

duplication possible de [Y a-t-il une propriété "Word Wrap" de JLabel existe?] (Http://stackoverflow.com/questions/7861724/is-there-some-word-wrap-property-of-jlabel -exist) –

Répondre

1

Vous avez un espace blanc devant <HTML>. retirez-le et il fonctionne: data= data + "<html> JVM

+0

OK - C'était peut-être rapide. Regardez: http://docs.oracle.com/javase/tutorial/uiswing/components/html.html – Glyb

+0

Glyb, j'ai déjà testé ceux-ci. Basé sur ces tutoriels, ça devrait marcher mais ça ne marche pas pour moi. Je n'ai aucune idée. La balise HTML dans JLabel devrait fonctionner. – user2328798

+0

Ahh - J'ai compris. Vous avez un espace blanc devant . Enlevez-le et cela fonctionne: data = data + " JVM ... – Glyb

1
data + " <html> JVM Free Memory: " 

devrait être plus le long des lignes de:

"<html><body>JVM Free Memory: " 
  1. Il exige l'élément <html> être la 1ère partie de la String. La meilleure pratique serait de le rendre valide HTML en ajoutant le préfixe <body>.
+0

Oui c'est le erreur :) –

+0

Andrew Thompson; – user2328798

+0

Si ma réponse vous a aidé à résoudre le problème, s'il vous plaît [accepter] (http://meta.stackexchange.com/a/65088/155831) la réponse lorsque vous avez une chance –

Questions connexes