【问题标题】:How to move the text to the next line in the JLabel without HTML?如何在没有 HTML 的情况下将文本移动到 JLabel 中的下一行?
【发布时间】:2015-05-16 23:33:09
【问题描述】:

在 JLabel 中将文本移动到下一行我使用 HTML:

JLabel label = new JLabel("<html><b>Line<br/Next line</b></html>");

有没有办法将文本移动到下一行而不使用 HTML?谢谢!

【问题讨论】:

标签: java html swing jlabel


【解决方案1】:

有没有办法在不使用 HTML 的情况下将文本移动到下一行?

不是真的。相反,您必须使用其他技术,例如:

  • 使用 1 列的 GridLayout 中保存的多个 JLabel
  • 使用 JTextArea,但将其配置为看起来像 JLabel(我的最爱之一)
  • 或通过其paintComponent(...) 方法将文本直接写入组件。

【讨论】:

  • 我需要用 XML 显示一个 &lt 的符号 - 文件并且它没有出现在 HTML 中。
  • @Tomas:我相信有一些常见的 HTML 解决方案。
  • @Tomas:所以你的问题实际上是XY Problem,当最好的解决方案是使用完全不同的方法时,你会问如何解决特定的代码问题。将来最好告诉我们您尝试解决的完整整体问题,而不是过分关注您当前尝试解决的方法。
  • 感谢 cmets 。但你回答了我的主要问题ю
  • ...meant to say JTextArea... - 我的手指输入的内容与我的大脑一直在想的不同......
【解决方案2】:

HTML 方式有什么问题?你可以这样简化:

String line1 = "...";
String line2 = "...";
String text = String.format("<html>%s<br/>%s</html>", line1, line1);
JLabel lbl = new JLabel(text);

【讨论】:

  • 我需要在 XML 文件中显示 &lt 的符号,但它没有出现在 HTML 中。
  • 你的意思是HTML实体&amp;lt;吗?哪个是“小于”字符&lt;。
  • 是的。我在 JLabel 中用 XML 文件读取了这个符号。但他没有出现。
【解决方案3】:

JLabel 没有其他办法。不过您可以使用自定义 Swing 组件。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-09-07
    • 1970-01-01
    • 1970-01-01
    • 2013-06-21
    • 1970-01-01
    • 1970-01-01
    • 2012-03-06
    • 1970-01-01
    相关资源
    最近更新 更多