通过样式,我的意思是一个文本,其不同的部分具有不同的格式,如在Wordpad中。
答案 0 :(得分:2)
Swing在渲染中支持HTML 3.2。 因此,简单的无标签标签的代码将是:
JLabel lblUnstyled = new JLabel();
lblUnstyled.setText("Normal unstyled text");
如果要设置文本样式,可以使用HTML 3.2标记来显示样式信息,例如:
JLabel lblStyled = new JLabel();
lblStyled.setText("<html><head></head><body>This is text with <i>something in italic</i>.</body></html>");
答案 1 :(得分:0)
考虑一下JEditorPane,它允许显示不同类型的内容。 http://docs.oracle.com/javase/7/docs/api/javax/swing/JEditorPane.html
显然,您需要查看Swing教程
答案 2 :(得分:0)
我会使用JTextPane
。
阅读Text Component Features上Swing教程中的部分,了解更多信息和工作示例。
答案 3 :(得分:0)
试试从 jide-oss (https://github.com/legendmohe/StyleLabel) 中提取的 http://www.jidesoft.com/javadoc/com/jidesoft/swing/StyledLabel.html
<块引用>StyledLabel 是一个特殊的 JLabel,可以以不同的方式显示文本 样式。它是 JLabel 和 JTextPane 之间的一个组件。 JLabel 是 简单,快速,但功能有限。例如,您不能使用 不同的颜色来绘制文本。你可能会争辩说 JLabel 可以使用 HTML 标签以不同颜色显示文本。不过主要有两个 使用 StyledLabel 的原因。首先,StyledLabel 非常快而且 几乎和纯文本的 JLabel 一样快。 HTML JLabel 很慢。