JLabel的Newline

如何在JLabel显示换行符?

例如,如果我想要:

你好,世界!
等等等等等等

这就是我现在所拥有的:

JLabel l = new JLabel("Hello World!nblahblahblah", SwingConstants.CENTER);

这是显示的内容:

Hello World!blahblahblah

原谅我,如果这是一个愚蠢的问题,我只是在学习一些Swing基础知识......


围绕与所述串<html></html>并用破线<br/>

JLabel l = new JLabel("<html>Hello World!<br/>blahblahblah</html>", SwingConstants.CENTER);

你可以尝试这样做:

myLabel.setText("<html>" + myString.replaceAll("<","&lt;").replaceAll(">", "&gt;").replaceAll("n", "<br/>") + "</html>")

这样做的好处是:

  • 它取代了所有换行符<br/>而不失败。
  • 它会自动替换最终<>&lt;&gt; 分别,防止一些渲染破坏。
  • 它所做的是:

  • "<html>" +在开头添加了一个开始的html标签
  • .replaceAll("<", "&lt;").replaceAll(">", "&gt;")转义<>
  • .replaceAll("n", "<br/>")br (HTML换行符)标记替换所有换行符
  • ...和+ "</html>"在最后关闭我们的html标签。
  • PS:我非常抱歉唤醒这样一个旧帖子,但无论如何,你的Java有一个可靠的片段!


    您可以在Jide开源组件中使用MultilineLabel组件。

    http://www.jidesoft.com/products/oss.htm

    链接地址: http://www.djcxy.com/p/15681.html

    上一篇: Newline in JLabel

    下一篇: How do I replace all line breaks in a string with <br /> tags?