【发布时间】:2017-02-20 15:46:34
【问题描述】:
我所说的样式是指不同部分具有不同格式的文本,例如写字板。
【问题讨论】:
标签: java swing text graphics richtext
我所说的样式是指不同部分具有不同格式的文本,例如写字板。
【问题讨论】:
标签: java swing text graphics richtext
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>");
【讨论】:
JLabel、JButton(有一些怪癖)、JEditorPane、JTextPane ..
考虑查看允许显示不同类型内容的 JEditorPane。 http://docs.oracle.com/javase/7/docs/api/javax/swing/JEditorPane.html
显然,您需要查看 Swing 教程
【讨论】:
我会使用JTextPane。
阅读 Text Component Features 上的 Swing 教程部分,了解更多信息和工作示例。
【讨论】:
试试https://github.com/legendmohe/StyleLabel,它是从jide-oss (http://www.jidesoft.com/javadoc/com/jidesoft/swing/StyledLabel.html)中提取出来的
StyledLabel 是一个特殊的 JLabel,可以以不同的方式显示文本 样式。它是 JLabel 和 JTextPane 之间的一个组件。 JLabel 是 简单、快速但功能有限。例如,您不能使用 不同的颜色来绘制文本。你可能会说 JLabel 可以使用 HTML 标记以不同颜色显示文本。不过主要有两个 使用 StyledLabel 的原因。首先,StyledLabel 非常快并且 几乎和纯文本的 JLabel 一样快。 HTML JLabel 很慢。
【讨论】: