通过设置最大宽度使 JLabel 换行其文本

2022-08-31 12:08:01

我有一个JLabel,上面有很多文字。有没有办法使JLabel具有最大宽度,以便它将包装文本以使其不超过此宽度?

谢谢


答案 1

不。

您可以在标签中使用 HTML,但随后必须对断句标记进行硬编码。

更好的方法是使用 JTextArea 并打开包装。您可以更改文本的背景,前景,字体等,以使其看起来像一个标签。

请注意,这个答案至少在Java 7之前就已经过时了。

根据@darren的答案,您只需要用和标签包装字符串:<html></html>

myLabel.setText("<html>"+ myString +"</html>");

您不需要对任何中断标记进行硬编码。文本在组件调整大小时自动换行。


答案 2

是的,有两种类似的方法(首先是css style=“width:...px“,第二个带有 html WIDTH=.......:

1.

labelText = String.format("<html><div style=\"width:%dpx;\">%s</div></html>", width, text);

2.

labelText = String.format("<html><div WIDTH=%d>%s</div></html>", width, text);

推荐