是否有任何内置的方式在Java中打印样式文本?

时间:2017-02-20 15:46:35

标签: java swing text graphics richtext

通过样式,我的意思是一个文本,其不同的部分具有不同的格式,如在Wordpad中。

4 个答案:

答案 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 很慢。