当前位置: 首页 > news >正文

IDC网站用什么软件建口碑好的常州做网站

IDC网站用什么软件建,口碑好的常州做网站,免费ppt模板免费,中英文双语网站模板文章目录 需求分析Document 应用彩蛋 需求分析 在Swing中#xff0c;如果期望实现对JTextArea 或者 TextPane等文本区域实现单行渲染改怎么做#xff1f;如上图所示 总的来说有两种实现方案 文本行数可控#xff0c;那么构造一组JLabel集合按表单顺序添加#xff0c;这样可… 文章目录 需求分析Document 应用彩蛋 需求分析 在Swing中如果期望实现对JTextArea 或者 TextPane等文本区域实现单行渲染改怎么做如上图所示 总的来说有两种实现方案 文本行数可控那么构造一组JLabel集合按表单顺序添加这样可以预先调整特定位置的颜色 文本行数未知想基于关键字模糊匹配甚至将所在行进行统一控制那么需要借助Document对象完成 如果行数可控的文本控制直接使用label.setColor(XXX)即可设置无需过多考虑下面主要探讨行数可变且不同需求下的文本渲染问题。 Document 应用 在行数可变前提下 还得你的技术选型是什么不同的Component的渲染方式思路一样但实现上略有差异。否则东施效颦结果啥也出不来 基于JTextArea 的 Document private JTextArea jTextArea new JTextArea();# 引入样式组件private StyleContext styleContext new StyleContext();# 添加全局样式private Style redStyle styleContext.addStyle(red, null);private Style common styleContext.addStyle(common, null);StyleConstants.setForeground(redStyle, Color.RED);StyleConstants.setForeground(common, Color.BLACK);# 使用 Document document jTextArea.getDocument();# 注意这个方式是以插入方式渲染也就是说其他默认样式也需要通过插入方式到textArea否则就会出现内容丢失//document.insertString(document.getLength(), 特定文本之前内容, common);document.insertString(document.getLength(), 特定文本, redStyle);//document.insertString(document.getLength(), 特定文本之后的内容, common); 基于JTextPane 的StyleDocument 本文开头使用的便是如下这种方式 JTextPane textPane new JTextPane();textPane.setEditable(false); // 可编辑textPane.setFont(new Font(微软雅黑, Font.PLAIN, 16)); // 设置字体textPane.setText(hello swing this is red\n hello java, this is blue\n hello word\n);StyledDocument styledDocument textPane.getStyledDocument();SimpleAttributeSet red new SimpleAttributeSet();StyleConstants.setForeground(red, Color.RED);// 关键字渲染String text textPane.getText();int swing text.indexOf(swing);styledDocument.setCharacterAttributes(swing, swing, red, true);SimpleAttributeSet blue new SimpleAttributeSet();StyleConstants.setForeground(blue, Color.BLUE);StyleConstants.setBold(blue, true);// 按行渲染int java text.indexOf(java);Element defaultRootElement styledDocument.getDefaultRootElement();int offset defaultRootElement.getElementIndex(java);int start defaultRootElement.getElement(offset).getStartOffset();int end defaultRootElement.getElement(offset).getEndOffset();styledDocument.setCharacterAttributes(start, end - start, blue, true); 基于JTextPane的HTML文档 // 创建一个 JTextPaneJTextPane textPane new JTextPane();textPane.setEditable(false); // 不可编辑// 创建一个 HTML 文档HTMLEditorKit kit new HTMLEditorKit();StyleSheet styleSheet kit.getStyleSheet();styleSheet.addRule(body { font-size: 16px; font-family: Arial; }); // 自定义样式String htmlContent htmlbodyh1Hello, span stylecolor: blue;World/span/h1/body/html;try {textPane.setEditorKit(kit);textPane.setText(htmlContent);} catch (Exception e) {e.printStackTrace();}彩蛋 重构之美系列文章一定存在通用解决方案的工具方法大家可参考使用 /**重点介绍String... tags 统一渲染的关键字集合replaceAll 是否对tag 进行全文样式替换*/ private void repaintCaseTitle(StyledDocument doc, SimpleAttributeSet style, boolean replaceAll, String... tags) {String text jTextPane.getText();for (String tag : tags) {int i text.indexOf(tag);if (i 0) {log.info(tag 无效渲染);return;}Element defaultRootElement doc.getDefaultRootElement();if (!replaceAll) {int offset defaultRootElement.getElementIndex(i);int startIndex defaultRootElement.getElement(offset).getStartOffset();int endIndex defaultRootElement.getElement(offset).getEndOffset();doc.setCharacterAttributes(startIndex, endIndex - startIndex, style, true);continue;}// 全部替换for (int j 0; j defaultRootElement.getElementCount(); j) {Element line defaultRootElement.getElement(j);try {String lineText doc.getText(line.getStartOffset(), line.getEndOffset() - line.getStartOffset());if (lineText.contains(tag)) {doc.setCharacterAttributes(line.getStartOffset(), line.getEndOffset() - line.getStartOffset(), style, true);}} catch (BadLocationException e) {e.printStackTrace();}}}}改工具方法基于JTextPane提供通用样式渲染提供简便调用 使用时仅仅需要通过一行代码便可以对目标关键字进行按行渲染 如果还有定制化需求可自行修改 repaintCaseTitle(doc, redStyle, false, 测试, 分析, 异常);研发不易多多支持
http://www.zqtcl.cn/news/145117/

相关文章:

  • 做招生网站网站织梦后台一片白
  • wordpress 表单录入优化网站的技巧
  • 域名注册网站的域名哪里来的信息型网站
  • 商贸网站建设常见的网站结构有哪些
  • 网站开发概要设计模板网站qq获取
  • 关键词网站推广王野摩托车是什么牌子
  • 网站建设管理工作的总结网站做网站词怎么推广
  • 通过网站的和报刊建设在网站建设工作会上的讲话
  • 建设部网站举报壹搜网站建设优化排名
  • 做软件界面的网站洛可可成都设计公司
  • 微信建立免费网站app网站制作软件
  • 上海工程建设造价信息网站黑帽seo易下拉霸屏
  • 网站建设公司需要申请icp吗网站续费
  • 宁波快速建站公司滕州网站设计
  • logo成品效果图网站网站意见反馈源码
  • 宁志网站两学一做高端网站建设代码
  • 企业做可信网站认证的好处电影网站制作
  • 大学网站建设课程课综温州网站推广好不好
  • 做电影ppt模板下载网站有什么网站可以做海报
  • 搭建网站需要做什么国外互动网站
  • 淘宝客导购网站怎么做建设网站天河区
  • 做网站的优势有哪些wordpress 一直崩溃
  • 长沙交互网站设计服务商优秀的网页网站设计
  • android 旅游网站开发有哪些做伦敦金的网站
  • 物流网站系统php源码seo课程多少钱
  • 手机 网站品牌网站建设 d磐石网络
  • 免费用搭建网站珠海住房和建设局网站
  • 天津做胎儿鉴定网站广州古德室内设计有限公司logo
  • 做爰的最好看的视频的网站简洁型网页
  • 网站一直显示建设中网页制作工具程