设定foreground代码如下:
SimpleAttributeSet textColour = new SimpleAttributeSet();
StyleConstants.setForeground(textColour, Colors.RED);
textPane.setCharacterAttributes(textColour, false);
可以正常导出正确的HTML文本,但是直接修改setForeground为setBackground,是无法导出正确的HTML文本的。
workaround的原链接在此:
https://stackoverflow.com/questions/13285526/jtextpane-text-background-color-does-not-work
以上代码修改为:
String htmlStyle = "background-color:"+ getHTMLColor(Colors.RED);
SimpleAttributeSet textColour = new SimpleAttributeSet();
textColour.addAttribute(HTML.Attribute.STYLE, htmlStyle);
MutableAttributeSet outerAttr = new SimpleAttributeSet();
outerAttr.addAttribute(HTML.Tag.SPAN, textColour);
StyleConstants.setBackground(outerAttr, backgroundColors.getSelectedItem().c);
StyleConstants.setBackground(textColour, backgroundColors.getSelectedItem().c);
textPane.setCharacterAttributes(outerAttr, false);
textPane.setCharacterAttributes(textColour, false);
其中:
public static String getHTMLColor(Color color) {
if (color == null) {
return "#000000";
}
return "#" + Integer.toHexString(color.getRGB()).substring(2).toUpperCase();
}
导出的HTML增加了一节:
<span style="background-color:#FF0000">
解决此问题
分享到:
相关推荐
在Java Swing库中,`JTextPane`是一个用于显示...但是,通过上述分析,你应该对如何解决`JTextPane`中的搜索结果显示问题有了一个全面的理解。在实际应用中,可以结合`src`文件夹中的代码来进一步学习和实践这些概念。
在Java Swing库中,`JTextPane`是一个功能强大的文本组件,它允许显示和编辑富文本格式,包括字体、颜色和排版等特性。本文将深入探讨`JTextPane`的基本概念、功能以及如何在Java应用程序中使用它。 #### 一、`...
在给定的标题“JTextPane 关键字变色”和描述“SWT JTextPane 可以把控件中需要的字符串的颜色修改成自己想要的颜色”中,我们关注的主要知识点是`JTextPane`如何实现特定关键字的高亮显示,也就是改变颜色。...
JTextPane使用,可以传图片,文字等
在Java的Swing库中,`JEditorPane`和`JTextPane`是两种非常重要的文本组件,它们允许用户编辑和显示富文本内容,包括不同的字体、颜色、字号、样式等。这两个组件都是`javax.swing.text`包的一部分,提供了丰富的...
在Java Swing库中,`JTextPane`是一个高级文本组件,它允许用户处理富文本,包括格式化的文本、图像和嵌入对象。本项目提供的源码着重展示了如何在`JTextPane`中插入图片和艺术字,使得文本区域更加丰富多彩。`...
在Java Swing库中,`JEditorPane`和`JTextPane`是两个常用的文本组件,它们主要用于显示和编辑富文本内容。在这个特定的程序中,我们看到的是一个演示如何控制这两类组件换行特性的应用。`JEditorPane`通常用于显示...
如果是实验报告,它应该详细解释了每个功能的实现过程,包括设计思路、关键代码段以及可能遇到的问题和解决方案。 这个项目对初学者来说是个很好的学习实践,因为它覆盖了GUI编程的基本概念,如事件处理、组件使用...
在Java编程中,实现文本域显示不同颜色的文字主要涉及到Swing库中的JTextPane组件。JTextPane是一个可编辑的文本组件,支持富文本格式,能够处理不同的样式,包括字体、颜色等。以下是对这个主题的详细解释: 1. **...
NULL 博文链接:https://icarusliu.iteye.com/blog/2098986
- **渲染HTML内容**: 将HTML内容渲染到`JTextPane`组件中,再利用`Graphics2D`将其绘制到`BufferedImage`上。 - **保存为JPEG格式**: 最终将渲染完成的图像编码为JPEG格式,并保存到输出流中。 ##### 3. **关键...
在JavaScript或其库(如jQuery)中,我们可以对这些元素进行操作来改变它们的样式。而在桌面应用中,如使用Java Swing、Qt或Windows Forms,我们有专门的组件如JTextArea、QTextEdit或TextBox,可以通过API设置背景...
在编程领域,富文本的实现通常涉及到文本渲染库或者框架,它们能处理这些复杂的格式化信息,并将其在屏幕上正确地展示出来。 在"富文本简单实现"的场景中,我们可能面临的核心任务是如何在一个Label组件上显示具有...
这涉及到处理图像数据,将其转换为适合在文本中显示的格式,并且在保存文档时能够正确地保存和恢复图片的位置和数据。 5. **文件处理**:项目可能包含了对文件I/O的操作,如读取和写入文本文件。在Java中,这通常...
【压缩包子文件的文件名称列表】中的"WebTextPaneDemo"可能是一个Java Swing的示例程序,用于演示如何在Java应用程序中使用JTextPane组件来展示和编辑HTML文本。JTextPane是Java AWT和Swing库中的一个组件,它扩展了...