jtextpane的使用方法

2023-05-16

jtextpane是java swing中的一个组件,是一个可以编辑和显示html,rtf和普通文本的富文本组件,jtextpane是根据使用EditorKit来显示内容的,目前jtextpan的工具包有HTMLEditorKit,RTFEditorKit和DefaultEditorKit,分别对应各种文本显示。

因为编写邮件程序,想到使用一个组件来编写html文本,就想到了使用jtextpane。

 

private JTextPane textpane;
private HTMLDocument text_html;
private HTMLEditorKit htmledit;

htmledit=new HTMLEditorKit();
		//实例化一个HTMLEditorkit工具包,用来编辑和解析用来显示在jtextpane中的内容。
text_html=(HTMLDocument) htmledit.createDefaultDocument();
		//使用HTMLEditorKit类的方法来创建一个文档类,HTMLEditorKit创建的类型默认为htmldocument。
textpane.setEditorKit(htmledit);
		//设置jtextpane组件的编辑器工具包,是其支持html格式。
textpane.setContentType("text/html");
		//设置编辑器要处理的文档内容类型,有text/html,text/rtf.text/plain三种类型。
textpane.setDocument(text_html);
		//设置编辑器关联的一个文档。

jtextpane提供了设置段落和设置文本字体,颜色等属性的方法。

java中,文本,段落格式的属性,都集成了AttributeSet接口,属性是键和值相关联。这个接口本身不提供添加属性的方法,我们使用它的子接口MutableAttributeSet。

SimpleAttributeSet是实现了MutableAttributeSet的一个类,专门用来实现一些简单属性的使用。

StyleConstants类,是java swing中用来管理属性接口的类,它提供了设置属性值,和获取属性值的一些方法。

StyleConstants提供了设置许多属性的方法。

SimpleAttributeSet attr=new SimpleAttributeSet();
//实例化一个simpleAttributeSet类。
StyleConstants.setAlignment(attr, StyleConstants.ALIGN_CENTER); 
			//使用StyleConstants工具类来设置attr属性,这里设置居中属性。
textpane.setParagraphAttributes(attr,false);
			//设置段落属性,第二个参数为false表示不覆盖以前的属性,如果选择true,会覆盖以前的属性。
StyleConstants.setAlignment(attr, StyleConstants.ALIGN_LEFT); 
   //设置属性居左


调用JColorChooser组件来设置文本颜色。

Color color=JColorChooser.showDialog(null,"color title", Color.BLACK);
//使用JColorChooser组件来提供一个颜色选择框。并返回选择的颜色,最后一个参数是缺省颜色。
 
StyleConstants.setForeground(attr, color);
    //设置颜色属性,参数为color类型。
textpane.setCharacterAttributes(attr, false);
//jtextpane的方法,setCharacterAttributes,用来设置选择文本颜色,如果有选择文本,会设置这些文本的颜色属性。


设置了HTMLEditorKit类型的工具包后,可以使用HTMLEditorKit来插入html语言文本,比较常用是插入图片和超链接。


插入一个图片。

htmledit.insertHTML(text_html, textpane.getCaretPosition(), 
       "<img src='http://pic1.sc.chinaz.com/Files/pic/icons128/4803/xplorer.png'>", 0, 0,HTML.Tag.IMG);
//HTMLEditorKit提供了方法来插入html文本,
insertHTML(HTMLDocument doc, int offset, String html, int popDepth, int pushDepth, HTML.Tag insertTag) 用来插入html文本
第一个参数是要插入内容的html文本,一般都是和jtextpane相关联的文本,offset为插入位置,textpane.getCaretPosition()方法获取当前编辑器中光标的位置,
popDepth和pushDepth是插入要生成的标记,一般设置为0,HTML.Tag insertTag是开始插入文档的首个标记,一般对应要插入的html文本标签。
 
设置段落和设置属性还有很多方法,使用StyleConstants可以设置常用的文本和段落格式。
 
 
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

jtextpane的使用方法 的相关文章

  • Android studio svn使用方法

    步骤 一 设置忽略文件 可参考工程目录下的 gitignore文件 iml DS Store externalNativeBuild local properties idea libraries idea modules xml idea
  • Linux awk 中 BEGIN 和 END 的使用方法

    1 awk的流程控制BEGIN和END http blog 51cto com 151wqooo 1309851 2 awk详解 http blog 51cto com 7177526 1387238
  • putty使用方法,中文教程

    转自 http hi baidu com dba chen blog item ce6a7f54cb6522173b29351e html putty使用方法 xff0c 中文教程 序言 大致内容罗列如下 xff1a 最简单的使用 xff0
  • vnc viewer使用方法

    首先需要配置ip xff0c 网络适配器配置那个ipv4到同一网段 1 双击打开exe 2 输入目标ip 端口 3 输入密码 服务器管理工具 这里写目录标题 一 VNC管理工具1 1 工具介绍1 2 使用步骤1 3 使用截图 二 KVM安装
  • Spring(AOP)的使用方法

    目录 为什么要使用AOP xff1f 一 通过注解使用AOP 1 1 需求定义 1 2 需求分析 1 3 需求实现 第1步 xff1a 添加坐标 第2步 xff1a 添加配置beans xml配置文件 第3步 xff1a 添加一个业务类Ac
  • spring MVC中关于model.addAttribute的使用方法【翻译】

    关于model addAttribute的使用方法 http krams915 blogspot com 2010 12 spring 3 mvc using modelattribute in html 可能要 break the wal
  • log4net(winform)使用方法

    前言 xff1a log4net是 Net下一个非常优秀的开源日志记录组件 log4net记录日志的功能非常强大 它可以将日志分不同的等级 xff0c 以不同的格式 xff0c 输出到不同的媒介 第一步 xff1a 引入组件 xff1a 引
  • switch-case使用方法

    switch case 语句判断一个变量与一系列值中某个值是否相等 xff0c 每个值称为一个分支 switch case 语句语法格式如下 xff1a switch语句应用举例1 xff1a public class VariableTe
  • vim-plug的使用方法

    vim plug介绍 Vim plug 是一个自由 开源 速度非常快的 并行地安装或更新插件 xff0c 极简的 vim 插件管理器 GIT获取和安装 https git scm com 插件获取 https github com june
  • git-cola 使用方法

    目录 git cola 的用法实践记录 git cola 是 git的图形界面管理工具 因此 xff0c 在安装 git cola之前 xff0c 一般首先需要安装 git 官网地址 xff1a http git cola github i
  • python vector_C++ vector使用方法

    在 c 43 43 中 xff0c vector 是一个十分有用的容器 它能够像容器一样存放各种类型的对象 xff0c 简单地说 xff0c vector是一个能够存放任意类型的动态数组 xff0c 能够增加和压缩数据 C 43 43 中数
  • STM32中USART的使用方法

    USART作为一种标准接口在应用中十分常见 本文着重分析其作为 UART的配置和应用方法 1 STM32固件库使用外围设备的主要思路 在 STM32中 xff0c 外围设备的配置思路比较固定 首先是使能相关的时钟 xff0c 一方面是设备本
  • 翻斗式雨量计的组成与工作原理

    雨量计也叫雨量记录仪 量雨计 测雨计 是常规的气象检测仪器 气象部门通过它来监测计量降雨量和降雨强度 常见的有虹吸式雨量计 翻斗式雨量计和称重式雨量计等 因为翻斗式雨量计方便携带安装 数据相对精确 因此在农业气象监测中广泛应用 1 翻斗式雨
  • Java 默认荧光笔

    我正在使用DefaultHightlighter DefaultHightlighterPainter突出显示 java 文本窗格中的文本 我想删除所有突出显示 可能有多个突出显示的字符串 并希望它返回突出显示已被删除的字符串的位置 所以显
  • JTextPane 换行行为

    最近我一直在做一个Java文本编辑器项目 我想使用JTextPane更换旧的JTextArea以实现语法高亮 然而 一个JTextPane缺乏方法JTextArea 例如append getLineStartOffset 等 我想在我的课堂
  • Java字符串replaceAll()

    我一直想知道是否例如 JTextPane chatTextArea new JTextPane s replaceAll emoticon public String emoticon chatTextArea insertIcon new
  • 增加显示 HTML 文本的 JTextPane 的字体大小

    假设我有一个显示 HTML 文档的 JTextPane 我希望 按下按钮后 文档的字体大小就会增加 不幸的是 这并不像看起来那么容易 我找到了一种更改整个文档字体大小的方法 但这意味着所有文本都设置为我指定的字体大小 http javate
  • 使用 HTMLDocument 在 JTextPane 中启用自动换行

    我到处都读到人们寻找方法的答案enabling文字换行JTextPane 但它们都不适合我 我正在使用一个HTMLDocument 显示 text html 内容 到目前为止我发现没有任何东西可以让它发挥作用 这JTextPane始终使 J
  • 如何阻止 JTextPane 吞噬键盘快捷键(加速器)?

    我的应用程序的主 JFrame 包含一个 JTextPane 虽然它具有焦点 但它会消耗所有键盘快捷键 加速器 而不是将它们传递到 JFrame 的 JMenu 这意味着虽然它具有焦点 但 新文档 的 ctrl n 不起作用 显然 它正确处
  • JTextPane 缩进

    有没有办法缩进文本块JTextPane import javax swing import java awt import javax swing text StyledDocument public class SimpleTextPan

随机推荐

  • 位域的定义和使用

    位域 xff1a 有些信息在存储时 xff0c 并不需要占用一个完整的字节 xff0c 而只需占几个或一个二进制位 例如在存放一个开关量时 xff0c 只有0和1 两种状态 xff0c 用一位二进位即可 为了节省存储空间 xff0c 并使处
  • Makefile 的运行(六)

    一般来说 xff0c 最简单的就是直接在命令行下输入make命令 xff0c make命令会找当前目录的makefile来执行 xff0c 一切都是自动的 但也有时你也许只想让make重编译某些文件 xff0c 而不是整个工程 xff0c
  • FreeRTOS 任务优先级说明

    freeRTOS任务优先级与Unix进程优先级不同 FreeRTOS 任务优先 xff1a 任务优先级数值越小 xff0c 任务优先级越低 Unix 任务优先 xff1a 进程优先级数值越小 xff0c 进程优先级越高 下面对 FreeRT
  • QT子线程读取串口数据并传到主线程

    转载 读取串口部分借鉴于Quartz010的文章 如何在QT中读取串口数据 http blog csdn net zz709196484 article details 66474917 这是博客网址 大致思路就是子线程去读取串口数据并传送
  • 最常用的Java库一览

    一个典型的Java项目依赖于第三方库 本文总结的Java库适用于各种应用 xff0c 比较流行并且广泛使用 其中一些还提供简单的示例 xff08 来自ProgramCreek xff09 Java SDK 肯定是使用最广的库 xff0c 所
  • C#Socket编程详解(一)TCP与UDP简介

    一 TCP与UDP 1 TCP 1 1 定义 TCP xff08 TransmissionControl Protocol xff09 传输控制协议 是一种可靠的 面向连接的协议 xff08 eg 打电话 xff09 传输效率低全双工通信
  • AD19导出bom表的方法(按照元件不同数值分类,重点信息突出)

    我画电路图用的是AD19的软件 xff0c 最后板子画好了要进行元器件采购要生成bom表 xff0c 查了一下相关的资料 xff0c 总结整理一下 xff1a 1 在报告 xff08 report xff09 打开Bill of Mater
  • 为什么c++要“在头文件中声明,在源文件中定义”?

    gt gt gt 搬运一个知乎问答 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 下面是回答 61 61 61 61 61 61 61 61 61 61 61 61 61
  • HTTP header 参数丢失情况分析以及解决防范

    HTTP header 参数丢失情况分析以及解决防范 1 问题 当项目有Nginx做了代理的时候 xff0c 请求头中传参 34 user ip 34 xff0c 接口接收不到 2 问题分析 默认nginx是不能转发带 的header信息的
  • Keil 调试局部变量查看显示not in scope

    调整优化级别 不同的优化级别允许您在编译代码中可用的调试信息级别与代码性能之间进行权衡 可以使用以下优化级别 xff1a o O0应用最小优化 大多数优化都被关闭 xff0c 生成的代码具有最佳的调试视图 o O1应用受限优化 例如 xff
  • 【32单片机学习】(6)STM32串口+DMA收发不定长数据

    提示 xff1a 文章写完后 xff0c 目录可以自动生成 xff0c 如何生成可参考右边的帮助文档 目录 前言 1 DMA介绍 2 串口接收数据 3 实验现象 1 实验电路图 2 串口收发不定长数据视频演示 3 OLED 显示接收数据 4
  • www-authenticate认证过程浅析

    文档 xff1a www authenticate认证过程简单研究 创建 xff1a http hi baidu com netee 日期 xff1a 2009 10 07 版权 xff1a 原创内容 xff0c 转载请注明出处 xff0c
  • STM32F407ZG 串口通信+固定帧头帧尾传输数据帧

    STM32F407ZG开发板学习 xff08 4 xff09 串口简介通信接口USART接线电平标准数据帧 实验 xff1a 固定帧头帧尾数据传输需求最终思路以及思考过程思路中断函数程序段长度的问题缓冲区数据结构的决定 初始化配置中断服务函
  • 基于杰理RTOS平台的433射频无线数传通信

    在杰理的AC7916N实现了433射频的数据发送 xff0c 在杰理的AD15系列实现433射频接收 xff0c 本代码用于门铃项目收发 xff0c 下面请看代码 首先是AC7916N的433数据发送代码 xff0c 发送部分的程序放在一个
  • boost简介

    我认为做为一名c 43 43 编程人员 xff0c 对boost库必须要有一定的了解与使用 这对于代码的整洁和效率有很大的帮助 借着这个机会整理一下使用boost库的经验 xff0c 顺便再学习一下 首先 xff0c 什么是boost库 b
  • Android上增加对M3U8文件下载的功能

    最近给一个客户提了一个需求 xff0c 想对他们网站的视频做一个下载的功能 xff0c 希望他的App能够缓存视频功能 xff0c 然后用户可以在下次快速播放视频 一开始接到这个需求 xff0c 自然是去搜罗一遍 xff0c 有没有可靠稳定
  • VLC自定义m3u8协议片段加密方式

    hls xff08 m3u8 xff09 本身有一套自己的加密方式 xff0c 可以保证片段是安全的 但是本身在传输的过程中加密key请求容易被截获 xff0c 这样存在一点片段key被截取的风险 xff0c 截取者就可以根据片段和key重
  • Fragment里使用CordovaWebView

    因为CordovaWebView 默认的初始化里判断了Content是不是继承CordovaInterface xff0c 如果直接使用Fragment继承CordovaInterface xff0c CordovaInterface有个抽
  • CMake教程(二)- 添加静态库文件和动态库文件

    CMake教程 xff08 二 xff09 添加静态库文件和动态库文件 什么是库文件静态链接库动态链接库静态库和动态库的区别 如何在CMake中添加库文件CMake 中 target link libraries 的 PRIVATE xff
  • jtextpane的使用方法

    jtextpane是java swing中的一个组件 xff0c 是一个可以编辑和显示html xff0c rtf和普通文本的富文本组件 xff0c jtextpane是根据使用EditorKit来显示内容的 xff0c 目前jtextpa