Java高亮显示被选中文本:StyledDocument.setCharacterAttributes() 复用代码 javax.swing.text.JTextComponent。requestFocus(); javax.swing.text.JTextComponent。select(start, end); 不获得焦点,文本被选中但不会高亮。 ----------------------- hxzon:上面的方式转移了焦点,更好的方式如下: JTextPane hexPane; SimpleAttributeSet notSelected; SimpleAttributeSet selected; StyledDocument doc; //设置样式 notSelected = new SimpleAttributeSet(); selected = new SimpleAttributeSet(notSelected); StyleConstants.setForeground(selected, new DefaultTreeCellRenderer().getTextSelectionColor()); StyleConstants.setBackground(selected, new DefaultTreeCellRenderer().getBackgroundSelectionColor()); //文本内容 hexPane.setText(packet.messageToHex()); //高亮显示被选中文本 goosetree.addTreeSelectionListener(new TreeSelectionListener() { public void valueChanged(TreeSelectionEvent e) { TreePath treePath = e.getPath(); if (treePath == null) { return; } DefaultMutableTreeNode node = (DefaultMutableTreeNode) treePath .getLastPathComponent(); int offset = 0; int len = 0; if (node.getUserObject() instanceof PropertyNode) { PropertyNode leaf = (PropertyNode) node.getUserObject(); offset = leaf.offset; len = leaf.len; } else if (node.getUserObject() instanceof GooseNode) { GooseNode leaf = (GooseNode) node.getUserObject(); offset = leaf.offset; len = leaf.len; } else if (node.getUserObject() instanceof DatasetNode) { DatasetNode leaf = (DatasetNode) node.getUserObject(); offset = leaf.offset; len = leaf.len; } int end = offset + len; offset = offset * 2 + offset; end = end * 2 + end; offset += offset / 48; end += end / 48 - 1; // hexPane.requestFocus(); doc=hexPane.getStyledDocument(); doc.setCharacterAttributes(0, doc.getLength(), notSelected, true); doc.setCharacterAttributes(offset, end - offset, selected, true); hexPane.select(offset, end);//加上此句,当选中文本不可见时滚动条自动滚动 } }); |
相关推荐
保姆级教程:用GD32F470的EXMC Bank0 Region0与FPGA实现16位并行通信(附完整代码)
本文详细介绍了如何利用GD32F470的EXMC Bank0 Region0与FPGA实现16位并行通信,涵盖硬件连接、寄存器配置、时序优化及FPGA接口设计等关键步骤。通过实例代码和调试技巧,帮助开发者快速掌握高效数据交互技术,提升嵌入式系统设计能力。
java中textpane用法_JAVA TextPane用法
StyledDocument styledDoc = new DefaultStyledDocument();//文档模型JTextPane textPane = new JTextPane(styledDoc);//创建具有指定文档模型的TextPane//或者JTextPane textPane = new JTextPane();//styledDoc = textPane.getStyle...
5分钟搞定Conflux钱包注册:Fluent钱包从安装到转账全流程指南
本文提供Conflux公链上Fluent钱包的完整注册和使用指南,涵盖从安装、助记词备份到CFX转账的全流程。特别强调安全操作要点,包括助记词保管和网络选择,帮助用户5分钟内快速掌握这款国产公链钱包的核心功能,确保数字资产安全。
java richtext_java-使用StyledDocument.insertString将RichText附加...
我不知道我想做的事是否可行.我有一个控制台,我想在其中添加这样声明的格式化文本:private final JTextPane statusText = new JTextPane();我得到了这样的样式化文档的引用:private StyledDocument statusDocument = statusText.getStyledDocument();我定义了一些属性:private fin...
GPS从入门到放弃(一) --- GPS基础原理
GPS从入门到放弃(一) — GPS基础原理 GPS,全称Global Positioning System,已经广泛应用于我们的日常生活中了,现在的智能手机 里都会自带GPS定位功能。这是一个美国的全球定位系统,虽然我们现在也有北斗了,但毕竟GPS搞的早,所以先从它开始研究起。 整个GPS系统分三大部分: 地面站 卫星 接收机 地面站负责监控。它们通过接收、测量各个卫星信号,计算卫星的运行轨...
昇腾AI处理器Ascend C编程:从C/C++基础到高性能算子开发实战
异构计算是提升AI算力效率的核心技术,通过在CPU之外引入专用处理器(如GPU、NPU)协同工作,实现大规模并行计算。其原理在于将计算密集型任务卸载到专用硬件,利用其高并行架构加速处理。技术价值在于突破传统CPU的算力瓶颈,为深度学习训练与推理提供强大动力,广泛应用于模型部署、科学计算和高性能计算场景。本文聚焦昇腾AI处理器的原生编程语言Ascend C,它基于C/C++标准扩展,通过显式内存管理和任务并行模型,充分发挥达芬奇架构中Cube与Vector单元的性能。针对CANN算子开发,文章详解了从环境搭建
java 写java源程序编辑器_java源代码编辑器 设计用于编写Java源代码的编辑器,基本要求:可以完成源程序的文件打开,编辑和文件保存...
展开全部一. 高亮的内容:需要高亮的内容有:1. 关键字, 如 public, int, true 等.2. 运算符, 如 +, -, *, /等3. 数字62616964757a686964616fe4b893e5b19e313332623835364. 高亮字符串, 如 "example of string"5. 高亮单行注释6. 高亮多行注释二. 实现高亮的核心方法:StyledDocume...
Fluent实战——残差震荡分析与收敛优化策略
本文深入探讨了Fluent仿真中残差震荡的成因与优化策略。残差震荡是流场物理或数值问题的关键信号,文章系统分析了网格质量、边界条件、物理模型非定常性及求解设置四大主因,并提供了库朗数与松弛因子的调参心法,以及针对超音速流、共轭传热等典型场景的实战优化方案,旨在帮助用户有效提升计算收敛性与结果可靠性。
java swing 文本域中改变字体颜色
我们常用的JTextArea是纯文本组件,不能改变字体的颜色,可以用JTextPane组件,它要比JTextArea功能强大很多,JTextPane的用法可以看java文档:点击打开链接 1.用JTextPane的setForeground设置字体颜色。 package java; import java.awt.Color; import javax.swing.JFrame; import
基于STM32L4XX 、HAL库的TMC2209-LA-T步进电机驱动器驱动程序应用设计
/ R/W=0 表示写。uint32_t gconf_value = (0 << 0) // I_scale_analog: 禁用,使用UART控制电流。uint32_t ihold_irun = (8 << 0) // 保持电流 8/31 最大值。
【瑞芯微px30】【RTL8363】【一】驱动移植-网卡驱动概述
linux rtl8363驱动移植
java styledocument_Java DefaultStyledDocument.addStyle方法代碼示例
import javax.swing.text.DefaultStyledDocument; //導入方法依賴的package包/類private void createDocument() throws Exception {super.setUp();doc = new DefaultStyledDocument();MutableAttributeSet boldStyle = new Si...
华为的C语言编程规范.pdf
华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。
java docattributeset_Java高亮显示被选中文本:StyledDocument.setCharacterAttributes()
public void valueChanged(TreeSelectionEvent e) {TreePath treePath = e.getPath();if (treePath == null) {return;}DefaultMutableTreeNode node = (DefaultMutableTreeNode) treePath.getLastPathComponent();in...
文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况
主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。
锂电池充电器电路设计 里面有电路
锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。
java add() 自己写_Java:写自己的文本编辑器(一): 高亮关键字
写自己的文本编辑器(一):高亮关键字一.高亮的内容:需要高亮的内容有:1. 关键字, 如 public, int, true 等.2. 运算符, 如 +, -, *, /等3. 数字4. 高亮字符串, 如 "example of string"5.高亮单行注释6.高亮多行注释二.实现高亮的核心方法:StyledDocument.setCharacterAttributes(intoffset, ...
霍尼韦尔SoftMaster使用说明
霍尼韦尔SoftMaster使用说明
java jtextpane居中_Java Swing - 如何在JTextPane中找到一个String的偏移并突出显示
import java.awt.BorderLayout;import java.awt.Color;import java.awt.Dimension;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JScrollPane;import javax.swing.JTextPane;import jav...
【java】【swing】【JTextPane】自定义的JTextPane,扩展了JTextPane没有的一些功能(java关键字、单行注释、多行注释加亮)...
1 import java.awt.Color; 2 import java.util.Set; 3 4 import javax.swing.JTextPane; 5 import javax.swing.SwingUtilities; 6 import javax.swing.event.DocumentEvent; 7 import javax....
HTML代码生成
其实是我之前写的《简单的文本编辑器》增强版。简单的文本编辑器 因为是要发送邮件的,所以要生成的其实是html代码。原理是将使用JTextPane的setContentType("text/html");将其内容设置为html内容,这样使用getText()方法的时候获取的就是html的代码。不过其自动生成的代码在显示高亮和设置字体方面有问题,所以做了特殊处理。另外,我还重写了JTextPane的
Java Swing之StyledDocument的合并
http://blog.fyent.net/2011/01/java_swing_merge_styleddocument/ public void mergeDocument(DefaultStyledDocument source, DefaultStyledDocument dest) throws BadLocationException { A...
Document_Java
javax.swing.text Interface Document All Known Subinterfaces:StyledDocument All Known Implementing Classes:AbstractDocument, DefaultStyledDocument, HTMLDocument, PlainDocument p
java中jtextpane_Java JTextPane
Java JTextPane1 Java JTextPane的介绍JTextPane是JEditorPane类的子类。JTextPane用于带有嵌入式图像和组件的样式化文档。它是可以用图形表示的属性标记的文本组件。JTextPane使用DefaultStyledDocument作为其默认模型。2Java JTextPane的构造方法方法描述JTextPane()创建一个新的JTextPane。J...
微信小程序手机号登录全流程解析:4步时序图与3个关键安全要点
本文详细解析了微信小程序手机号登录的4步核心流程,包括获取临时登录凭证code、换取session_key和openid、获取加密手机号数据以及解密手机号信息。重点强调了3个关键安全要点:AppSecret的安全管理、session_key的生命周期管理和一次性code的使用规范,帮助开发者构建安全可靠的用户认证系统。
JTextPane 内容的保存:图文格式保存的解决
一般而言,JTextPane的getText只能得到String,不能对文字的格式,和里面的图文进行保存 使用HTMLEditorKit可以保存文字的格式,在JTextPane中没有图片的时候,这种方式很方便和简单,核心代码可见writeHtml方法,从实现来说就是将JTextPane中的Document对象使用HTMLEditorKit的write写到文件中即可。但对于复杂的JTextPane
226



被折叠的 条评论
为什么被折叠?



