如何在 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;
}
我的 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;
}