java - 在 JLabel 中显示多行文本

标签 java swing jlabel multiline

我在 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);
    }   
}

最佳答案

data + " <html> JVM Free Memory:  "

应该更多的是:

"<html><body>JVM Free Memory:  "
  1. 它需要 <html>元素是 String 的第一部分.
  2. 最佳实践是通过添加 <body> 使其成为有效的 HTML前缀。

关于java - 在 JLabel 中显示多行文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16261738/

相关文章:

Java Swing - 使用 Swing Timer 类移动 JLabels

java - 填充 FlowLayout 的空白空间

java - 在 C# 中使用 getBytes() 从 SQL 中获取数据(提供了 JAVA 代码)

java - if 语句什么时候完成条件检查?

java - 如何用Java制作按钮绘画?

java - 组打破了 JGraphX 中的层次布局

java - 如何以计划的速率运行任务而不等待之前的任务?

java - 有人能帮助理解这段伪代码的含义吗?

java - 将 JTextField 扩展到 InputStream 并从 Button 执行操作

java - 尽管在 java 中调整了窗体的大小,如何使 jLabels 保持附着在窗口窗体的角上?