JLabel.setText()中的换行符



使用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>");

我希望这能帮助你