通过设置最大宽度使 JLabel 换行其文本
2022-08-31 12:08:01
我有一个JLabel,上面有很多文字。有没有办法使JLabel具有最大宽度,以便它将包装文本以使其不超过此宽度?
谢谢
我有一个JLabel,上面有很多文字。有没有办法使JLabel具有最大宽度,以便它将包装文本以使其不超过此宽度?
谢谢
不。
您可以在标签中使用 HTML,但随后必须对断句标记进行硬编码。
更好的方法是使用 JTextArea 并打开包装。您可以更改文本的背景,前景,字体等,以使其看起来像一个标签。
请注意,这个答案至少在Java 7之前就已经过时了。
根据@darren的答案,您只需要用和标签包装字符串:<html>
</html>
myLabel.setText("<html>"+ myString +"</html>");
您不需要对任何中断标记进行硬编码。文本在组件调整大小时自动换行。
是的,有两种类似的方法(首先是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);