如何在 JLabel 中的 toString 中使用新行?

How To use new line in a toString while it is in a JLabel?

我的 toString 是下一个:

public String toString() {
        String partner = "DRIVE:" + getSkill(Skills.DRIVE) + (System.getProperty("line.separator")) + "VEHICLE:"
                + getSkill(Skills.VEHICLE) + (System.getProperty("line.separator")) + "ACCURACY:"
                + getSkill(Skills.ACCURACY) + (System.getProperty("line.separator")) + "WEAPONS:"
                + getSkill(Skills.WEAPONS) + (System.getProperty("line.separator")) + "REFLEX:"
                + getSkill(Skills.REFLEX) + (System.getProperty("line.separator")) + " STRATEGY:"
                + getSkill(Skills.STRATEGY) + (System.getProperty("line.separator")) + "CHARISMA:"
                + getSkill(Skills.CHARISMA) + (System.getProperty("line.separator")) + "HACKING:"
                + getSkill(Skills.HACKING) + (System.getProperty("line.separator")) + "SPEED:" 
                + getSkill(Skills.SPEED) + (System.getProperty("line.separator")) + "STEALTH:" 
                + getSkill(Skills.STEALTH) + (System.getProperty("line.separator"));

        return partner;
    }

我尝试使用 \n,但没有用。这也不行。
我必须使用 String 而不是 Stringbuilder,所以这样不好。
我将把它放在 JLabel
我需要看这个:
驱动器:已生成的一些随机数
车辆:一些随机数已经生成
“< br >”也不能正常工作。

您可以像这样使用 HTML 标签,

JLabel label = new JLabel("<html>your string goes here</html>");

使用行分隔符 <br/>

System.getProperty("line.separator") 是 OS 从属行分隔符。
您甚至可以使用它 System.lineSeparator()(没有容易出错的字符串参数)。
但是你想要的与 OS 行分隔符无关。
您需要一个 SWING 小部件文本的行分隔符,这里是 JLabel。

您可以使用 html 标签在带有 <br/> 标签的 JLabel 文本中执行换行。

但是您不应使用 toString() 方法来创建将用于设置 JLabel 文本的字符串。
toString() 用于调试,不用于应用程序的功能消息。
创建一个特定的方法来做到这一点。

例如:

final static String HTML_BR = "<br/>";

private String createLabelMsg(MyClass myClass) {

    String partner = "<html>DRIVE:" 
            + myClass.getSkill(Skills.DRIVE) + HTML_BR + "VEHICLE:"
            + myClass.getSkill(Skills.VEHICLE) + HTML_BR + "ACCURACY:"
            + myClass.getSkill(Skills.ACCURACY) + HTML_BR + "WEAPONS:"
            + myClass.getSkill(Skills.WEAPONS) + HTML_BR + "REFLEX:"
            + myClass.getSkill(Skills.REFLEX) + HTML_BR + " STRATEGY:"
            + myClass.getSkill(Skills.STRATEGY) + HTML_BR + "CHARISMA:"
            + myClass.getSkill(Skills.CHARISMA) + HTML_BR + "HACKING:"
            + myClass.getSkill(Skills.HACKING) + HTML_BR + "SPEED:" 
            + myClass.getSkill(Skills.SPEED) + HTML_BR + "STEALTH:" 
            + myClass.getSkill(Skills.STEALTH) + HTML_BR
            + "</html>";
    return partner;
}