使用JLabel.setText((时,如何插入换行符?我尝试使用Html,但似乎可以使其适用于setText,仅适用于jLabel 的初始声明
最初声明jlabel时的方法是:
label = new JLabel("<html>Hello World!<br>blahblahblah</html>");
我的代码:
textString += "<html> quantityTextField.getText() +
theInventory.findItem(UPCTextField.getText()).toString() + <br> </html>";
purchaseInfo.setText( textString);
它显示html标记和方法名称,而不是方法
如果您的setText()
调用更改了JLabel
的首选维度,那么您需要在容器上调用revalidate()
来重做布局。
查看您添加的代码片段,我在这一行的最后看到了一个
,它无论如何都不会起到任何作用,还有很多引用错误的方法调用,这些方法调用的方法名是HTML的一部分。如果你做了一些类似的事情
label.setText("<html>Hello World!<br>blahblahblah</html>");
label.getParent().revalidate();
你的换行符应该出现。
您的文本格式完全错误。这是您当前正在设置的字符串:
"<html>Hello World!<br>blahblahblah</html><html> quantityTextField.getText()+ theInventory.findItem(UPCTextField.getText()).toString() + <br> </html>"
现在告诉我这个问题并不明显(顺便说一句,HTML并不是你唯一的问题(。。。无论如何,有关更多信息,请参阅如何在Swing组件中使用HTML。
textString+="<html> " + quantityTextField.getText()+ theInventory.findItem(UPCTextField.getText()).toString() + "<br> </html>";
有趣。
您似乎正在将某些内容与html字符串连接起来。
将文本环绕在<html>
标记中,并且只使用<html>
标记一次。
根据个人经验,我不会在JLabel中使用HTML标记。如果你没有进行任何格式化(除了插入换行符之外,看起来你没有(,你最好使用像"\n"这样的字符代码,因为它简单而大。
[代码]label=new JLabel("Hello World!\nblahblahblah"(;
textString+=quantityTextField.getText((+theInventory.findItem(UPCTextField.getText(((.toString((+"\n";
purchaseInfo.setText(textString(;[/code]
方法名称出现的原因是您将它们括在引号中。它将这些方法作为实际文本写入屏幕,而不是执行一组指令。
任何没有测试答案的人都应该用"我认为"来限定答案。
正如其他人所说,\n不起作用,.revalidate((不是必需的,html是必需的。请参阅JLabel 中的Newline
你好,兄弟,在"pre"之间插入您的新行
JLabel l=new JLabel("<html><pre>Hello worldnBlahblahblah</pre></html>");
我希望这能帮助你