我在Jlabel中显示多行有问题。我试图使用html标签,这对我没有帮助。我只是想知道为什么以下代码不起作用。我使用了<br>
标记,直到它显示在一行中。
任何帮助请...
我的Java代码如下
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 :(得分:1)
<HTML>
前面有一个空白区域。删除它并且它有效:data= data + "<html> JVM
答案 1 :(得分:1)
data + " <html> JVM Free Memory: "
应该更符合:
"<html><body>JVM Free Memory: "
<html>
元素成为String
的第一部分。<body>
前缀来使其成为有效的HTML。