0 0

JTextPane 中如何设置背景颜色并得到html代码?0

我在敲一个文本编辑器,用的是JTextPane,然后发现StyledEditorKit下面并没有设置背景色的方法。

后来我用这样的方法来设置背景色
SimpleAttributeSet aSet = new SimpleAttributeSet();
StyleConstants.setBackground(aSet, color);
StyledDocument doc = textPane.getStyledDocument();
doc.setCharacterAttributes(textPane.getSelectionStart(),textPane.getSelectionEnd()- textPane.getSelectionStart(), aSet, false);


这样的是能够显示出来效果,但是并不能通过textPane.getText();的方式得到html代码。

本来我还看到一个方式说是可以得到:

	class bgAction extends StyledEditorKit.StyledTextAction {

		public bgAction(String arg0) {
			super(arg0);
			// TODO Auto-generated constructor stub
		}

		@Override
		public void actionPerformed(ActionEvent arg0) {
			JEditorPane editor = getEditor(arg0);
			try {
				
				String selectedText = editor.getSelectedText();
				
				HTMLDocument document = (HTMLDocument) this.getStyledDocument(editor);
				
				System.out.println(document == TextView.this.document);
				
				document.remove(editor.getSelectionStart(),selectedText.length());
				
				HTMLEditorKit et = (HTMLEditorKit) this.getStyledEditorKit(editor);
				
				et.insertHTML(document, editor.getSelectionStart(), ""+ selectedText + "", 0, 0, HTML.Tag.SPAN);
				
			} catch (Exception ex) {
				ex.printStackTrace();
			}
		}

	}


但是insertHTML方法好像没有用似的,难道我哪里出错了吗?


所以我想在这里问下,能不能有个方式设置JTextPane中的背景色并且得到html代码。

问题补充:为什么没有人回答啊!
2013年7月31日 10:09
目前还没有答案

相关推荐

    JAVA-----JTextPane实例

    然后,创建了`JTextPane`实例,设置背景色为灰色,并通过`setText`方法设置文本内容为富文本格式(使用HTML)。最后,我们将`JTextPane`添加到`JFrame`的内容窗格中,使它可见。 #### 三、设置富文本内容 `...

    关于JTextPane中进行搜索结果显示的问题及解决

    在Java Swing库中,`JTextPane`是一个用于显示和编辑富文本的组件,它可以处理包含格式化文本、图片和嵌入对象的文档。在处理大量文本时,我们经常需要实现搜索功能,以便用户能够快速查找特定的关键词或短语。然而...

    JTextPane 关键字变色

    // 设置颜色为红色 ``` 3. **应用样式**:然后,我们可以用这些样式来标记和改变特定文本的颜色。当用户输入或加载文本时,我们可以搜索关键字并用定义好的样式替换它们。 ```java String keyword = "关键字"; ...

    JEditorPane/JTextPane常见操作(字体,颜色,字号,加粗,斜线,下划线,保存,行间距 等操作)以及HTML空格处理

    你可以直接创建`StyledDocument`对象,并通过`JTextPane`的`setDocument`方法设置文档。`StyledDocument`允许我们插入样式元素,如加粗、斜体、下划线等。例如,使用`SimpleAttributeSet`设置文本样式,然后通过`...

    JTextPane使用

    JTextPane使用,可以传图片,文字等

    控制jEditorPane和jTextPane换行的演示程序

    在Java Swing库中,`JEditorPane`和`JTextPane`是两个常用的文本组件,它们主要用于显示和编辑富文本内容。在这个特定的程序中,我们看到的是一个演示如何控制这两类组件换行特性的应用。`JEditorPane`通常用于显示...

    JTextPane--insert-Image.zip_JTextPane

    在Java Swing库中,`JTextPane`是一个高级文本组件,它允许用户处理富文本,包括格式化的文本、图像和嵌入对象。本项目提供的源码着重展示了如何在`JTextPane`中插入图片和艺术字,使得文本区域更加丰富多彩。`...

    改变编辑框的背景和字体

    在HTML/CSS中,可以使用CSS的`background-color`属性来设置编辑框的背景颜色。例如: ```css textarea { background-color: #F8F8FF; /* 设置为浅灰色 */ } ``` 在JavaScript中,可以使用`style.backgroundColor`...

    JAVA文本域显示不同字体颜色的文字

    4. ** 设置颜色和字体**: 通过调用`setAttributes()`方法,我们可以为特定的文本片段设置样式属性。例如,我们可以创建一个Style,然后使用`addAttribute()`方法添加字体颜色和字体大小属性。 5. ** 插入富文本**...

    java写的记事本程序带工具栏可以改变字体颜色

    然后,对于“改变字体颜色”功能,当用户选择不同的颜色时,程序会创建一个新的SimpleAttributeSet对象,并设置其Foreground属性为所选颜色,接着将这个AttributeSet传递给setCharacterAttributes()。 文件“B...

    html转为图片

    - **背景色**(`Color bgColor`):用于设置图像的背景颜色。 - **HTML内容**(`String html`):需要转换为图片的HTML文本。 - **宽度**(`int width`):目标图像的宽度。 - **高度**(`int height`):目标图像的高度...

    打字练习软件源代码

    2. JTextPane类:代码中使用了JTextPane类,用于创建文本面板,作为聊天记录显示区。 3. JTextField类:代码中使用了JTextField类,用于创建文本输入框,作为聊天输入区。 4. GridBagLayout类:代码中使用了...

    JTable编辑器、渲染器及JTextPane着色、搜索实例——待办事项、日历及JSON格式化工具

    NULL 博文链接:https://icarusliu.iteye.com/blog/2098986

    Java制作浏览器和源代码查看器.rar

    Java制作的网页浏览器和源代码查看器,仿IE的网页浏览功能,不支持HTML5,窗口采用上下分屏显示的方式,上面显示网页浏览器,下面显示该网页的源代码,JTextField jtfAddress; //输入html文件地址或网址  ...

    Swing实现编辑器(支持语法高亮)

    每当文档内容更改时,都需要重新解析代码并更新样式。 6. **优化性能**:由于实时高亮可能对性能产生影响,特别是对于大型代码文件,可能需要使用缓存或者智能地只更新被修改的部分,以减少不必要的计算。 在实现...

    文本编辑器的优秀代码

    这需要正则表达式和自定义解析器来识别代码的不同元素并设置相应的颜色样式。 4. **自动完成**:这个功能通过分析输入的代码片段,预测并提供可能的补全选项,大大减少了程序员的键入工作。实现时可能用到了树状...

    经典Java程序源代码

    【标题】:“经典Java程序源...通过学习这些源代码,初学者可以理解如何在Java环境中构建实际应用,并逐步掌握面向对象编程和GUI设计的原则。同时,这也为进阶学习如Swing组件、文件I/O和用户交互提供了坚实的基础。

Global site tag (gtag.js) - Google Analytics