如何在 JTextArea 中使用 html 标签

Posted

技术标签:

【中文标题】如何在 JTextArea 中使用 html 标签【英文标题】:How to use html tags in JTextArea 【发布时间】:2012-10-23 02:32:56 【问题描述】:

当我尝试使用

更改 JTextArea 的颜色时
textArea.setText("<html> <font color=\"red\"> Hi </font></html>")

,显示的文本基本上是在 setText 方法中编写的整个文本。但类似的事情适用于 JLabel、JButton 等。

我怎样才能为 JTextArea 也这样做?

【问题讨论】:

我不会为此使用 JTextArea,而是使用 JEditorPane。它内置了对 HTML 的支持。 不行。寻找另一个组件。 【参考方案1】:

不要将JTextArea 用于Html 格式的Object(甚至是可能的,但为什么要麻烦)

改用JTextPane / JEditorPane (setContentType("text/html"))

注意,今天的 Java 和在 Official API by Oracle 中实现的方法只支持减少的 Html syntax with css &lt;= Html 3.2

如果您想/需要使用今天的Html5,请使用JavaFX

【讨论】:

【参考方案2】:

JavaFX WebView 在渲染 HTML 方面非常强大,您可以使用 JFXPanel 在 Swing 应用程序中轻松显示 javafx 组件(WebView)。关于在 Swing 中嵌入 fx 的教程,这里是来自 oracle 的一篇:http://docs.oracle.com/javafx/2/swing/swing-fx-interoperability.htm

谢谢

【讨论】:

以上是关于如何在 JTextArea 中使用 html 标签的主要内容,如果未能解决你的问题,请参考以下文章

如何保持 JTextArea 的大小不变?

如何清除 JTextArea?

如何保存 JTextArea 文本?

如何在JTextArea中设置文本格式

如何在 Java GUI 中设置 JTextArea 的自动滚动?

java中TextArea/JTextArea的对齐方式怎么设置的?