JLabel的高度随着行数的增长而增长

时间:2012-05-30 13:53:38

标签: java swing jlabel multiline

我希望我的JLabel成为分配给文本的特定字符串所需的高度。文本字符串可以包含任意数量的行,这些行使用字符串中的\n。因此,如果您有一个字符串"Hello\nit\nis\nme\n",标签的高度将自动调整为适合4行。

如何实现?

2 个答案:

答案 0 :(得分:2)

  • 使用正确的JTextComponent而不是JLabel

  • 中使用HTML格式的文字
  • 我认为应该禁用"Hello\nit\nis\nme\n" JTextArea权限JComponent

答案 1 :(得分:2)

JLabel 1 通常会忽略换行符。要获取多行文本,请使用多行组件(如JTextArea 2 )或在标签中使用HTML格式。

  1. 这是example of using HTML formatting(上面的屏幕截图)。该示例使用样式(CSS)来自动插入换行符。这比计算手动在文本块中插入换行符的位置要容易得多。
  2. 当然,JTextArea的方法有setLineWrap(true)& setWrapStyleWord(true)也会自动处理换行。