禁用 JTextPane 中的编辑,同时允许可见的光标移动

2024-02-08

我有一个JTextPane它是通过从文件中读取来填充的,然后对数据进行解析和格式化。该用户无权编辑JTextPane,但我希望他们能够使用可见的光标在其中导航。

如果我使用setEditable(false),光标是不可见的,尽管可以通过按住来间接观察不可见光标的位置Shift并使用箭头键选择文本块。

要在禁止编辑时启用可见光标,而不是setEditable(false)我创建了一个假人DocumentFilter这对其毫无作用insertString(), remove(), and replace()方法。但随后我必须换入常规过滤器才能以编程方式填充JTextPane从文件中提取,然后在将控制权返回给用户之前放回虚拟过滤器。

到目前为止,这似乎可行,但是有更简单的解决方案吗?如果我保持原样,是否有任何击键或鼠标活动序列可以以某种方式允许用户编辑文本窗格,因为它在技术上是可编辑的setEditable?


textPane.addFocusListener(new FocusListener() {

        @Override
        public void focusLost(FocusEvent e) {
            textPane.setEditable(true);

        }

        @Override
        public void focusGained(FocusEvent e) {
            textPane.setEditable(false);

        }
    });

又一个肮脏的黑客行为!似乎可以提供您所需要的!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

禁用 JTextPane 中的编辑,同时允许可见的光标移动 的相关文章

  • 日期语句之间的 JPQL SELECT [关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 我想将此 SQL 语句转换为等效的 JPQL SELECT FROM events WHERE events date BETWE
  • Mockito:如何通过模拟测试我的服务?

    我是模拟测试新手 我想测试我的服务方法CorrectionService correctPerson Long personId 实现尚未编写 但这就是它将执行的操作 CorrectionService将调用一个方法AddressDAO这将
  • Java 枚举与创建位掩码和检查权限的混淆

    我想将此 c 权限模块移植到 java 但是当我无法将数值保存在数据库中然后将其转换为枚举表示形式时 我很困惑如何执行此操作 在 C 中 我创建一个如下所示的枚举 public enum ArticlePermission CanRead
  • 在 Jar 文件中运行 ANT build.xml 文件

    我需要使用存储在 jar 文件中的 build xml 文件运行 ANT 构建 该 jar 文件在类路径中可用 是否可以在不分解 jar 文件并将 build xml 保存到本地目录的情况下做到这一点 如果是的话我该怎么办呢 Update
  • 在接口中使用默认方法是否违反接口隔离原则?

    我正在学习 SOLID 原则 ISP 指出 客户端不应被迫依赖于他们所使用的接口 不使用 在接口中使用默认方法是否违反了这个原则 我见过类似的问题 但我在这里发布了一个示例 以便更清楚地了解我的示例是否违反了 ISP 假设我有这个例子 pu
  • Java 集合的并集或交集

    建立并集或交集的最简单方法是什么Set在 Java 中 我见过这个简单问题的一些奇怪的解决方案 例如手动迭代这两个集合 最简单的单行解决方案是这样的 set1 addAll set2 Union set1 retainAll set2 In
  • 没有 Spring 的自定义 Prometheus 指标

    我需要为 Web 应用程序提供自定义指标 问题是我不能使用 Spring 但我必须使用 jax rs 端点 要求非常简单 想象一下 您有一个包含键值对的映射 其中键是指标名称 值是一个简单的整数 它是一个计数器 代码会是这样的 public
  • java.lang.IllegalStateException:提交响应后无法调用 sendRedirect()

    这两天我一直在尝试找出问题所在 我在这里读到我应该在代码中添加一个返回 我做到了 但我仍然得到 java lang IllegalStateException Cannot call sendRedirect after the respo
  • 像 Java 这样的静态类型语言中动态方法解析背后的原因是什么

    我对 Java 中引用变量的动态 静态类型和动态方法解析的概念有点困惑 考虑 public class Types Override public boolean equals Object obj System out println i
  • 如何在用户输入数据后重新运行java代码

    嘿 我有一个基本的java 应用程序 显示人们是成年人还是青少年等 我从java开始 在用户输入年龄和字符串后我找不到如何制作它它们被归类为 我希望它重新运行整个过程 以便其他人可以尝试 的节目 我一直在考虑做一个循环 但这对我来说没有用
  • Spring Boot Data JPA 从存储过程接收多个输出参数

    我尝试通过 Spring Boot Data JPA v2 2 6 调用具有多个输出参数的存储过程 但收到错误 DEBUG http nio 8080 exec 1 org hibernate engine jdbc spi SqlStat
  • Java 和 Python 可以在同一个应用程序中共存吗?

    我需要一个 Java 实例直接从 Python 实例数据存储中获取数据 我不知道这是否可能 数据存储是否透明 唯一 或者每个实例 如果它们确实可以共存 都有其单独的数据存储 总结一下 Java 应用程序如何从 Python 应用程序的数据存
  • 为什么 Java 8 不允许非公共默认方法?

    让我们举个例子 public interface Testerface default public String example return Hello public class Tester implements Testerface
  • 不接受任何内容也不返回任何内容的函数接口[重复]

    这个问题在这里已经有答案了 JDK中是否有一个标准的函数式接口 不接受也不返回任何内容 我找不到一个 像下面这样 FunctionalInterface interface Action void execute 可运行怎么样 Functi
  • 专门针对 JSP 的测试驱动开发

    在理解 TDD 到底是什么之前 我就已经开始编写测试驱动的代码了 在没有实现的情况下调用函数和类可以帮助我以更快 更有效的方式理解和构建我的应用程序 所以我非常习惯编写代码 gt 编译它 gt 看到它失败 gt 通过构建其实现来修复它的过程
  • 最新的 Hibernate 和 Derby:无法建立 JDBC 连接

    我正在尝试创建一个使用 Hibernate 连接到 Derby 数据库的准系统项目 我正在使用 Hibernate 和 Derby 的最新版本 但我得到的是通用的Unable to make JDBC Connection error 这是
  • Eclipse 启动时崩溃;退出代码=13

    I am trying to work with Eclipse Helios on my x64 machine Im pretty sure now that this problem could occur with any ecli
  • 干净构建 Java 命令行

    我正在使用命令行编译使用 eclipse 编写的项目 如下所示 javac file java 然后运行 java file args here 我将如何运行干净的构建或编译 每当我重新编译时 除非删除所有内容 否则更改不会受到影响 cla
  • Opencv Java 灰度

    我编写了以下程序 尝试从彩色转换为灰度 Mat newImage Imgcodecs imread q1 jpg Mat image new Mat new Size newImage cols newImage rows CvType C
  • 使用 CXF-RS 组件时,为什么我们使用 而不是普通的

    作为后续这个问题 https stackoverflow com questions 20598199 对于如何正确使用CXF RS组件我还是有点困惑 我很困惑为什么我们需要

随机推荐

  • GIT:如何压缩已推送到远程存储库的多个提交?

    我对 Git 有一个奇怪的设置 基本上我有 client 1 lt gt remote repo gt client 2 客户端 1 本质上是我正在使用的本地存储库 因为我无法在本地计算机上编译 构建该项目 客户端2 是用于构建的远程服务器
  • 每秒将变量增加 X [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我被困在代码的这一部分 我想要一个
  • 获取adb shell命令的结果代码

    我应该如何得到 of adb shell
  • Redis 支持的 ASP.NET SessionState 提供程序 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • C# regex 查找并替换重用部分匹配文本

    我需要对长文本字符串进行搜索和替换 我想找到如下所示的所有损坏链接的实例 a href http any url here 7BlocalLink 1369 7D 7C 7CThank 20you 20for 20registering b
  • 如何从 Java 调用 scala 的 Option 构造函数

    我正在开发一个混合 java scala 项目 并且尝试从 Java 调用 scala 对象的方法 该方法需要一个Option Double 作为参数 我认为这会起作用 Double doubleValue new Double 1 0 s
  • Clojure STM 歧义因子

    在 Clojure 中 我们使用 STM 来实现并发 我的问题是STM使用数据的时间点值 这是否会带来歧义 我们如何知道访问了什么值 Clojure 中的 STM 提供 通过ref http clojure org refss and do
  • 命名空间中所需的 WSDL 扩展元素“绑定”

    我的网络服务遇到了很大的问题 当我尝试通过 svcutil 生成文件时 收到以下错误消息 Attempting to download metadata from http srv 13208 GROUPING WS ASMX as mx
  • VS Web Essentials 2012 在导入保存时编译主 LESS

    我正在尝试维护一个全局 less 文件 该文件 imports 应用程序的其余 less 文件 我目前正在 Visual Studio 2012 中使用 Web Essentials 扩展开发这个项目 该扩展在保存时自动生成 css 文件
  • pip:升级包而不升级特定依赖

    我的问题非常类似于this https stackoverflow com questions 2861183 pip upgrade package without upgrading dependencies问题 但它的不同之处在于 如
  • 如何从 SQL 编写存储过程脚本

    我知道有一种方法可以做到这一点 因为我已经见过它了 我只是不记得怎么做了 我想运行一个 SQL 命令 该命令将返回脚本以创建存储过程作为结果 我怎样才能做到这一点 尝试使用 sp helptext 命令 sp helptext yourpr
  • [UICollectionView setCollectionViewLayout:animated:] 访问错误

    我的 UICollectionView 发生了奇怪的崩溃 崩溃的 UICollectionView 嵌入到另一个 UICollectionView 的 UICollectionView 单元格中 我无法重现这个问题 如果内部 UIColle
  • 在 docker 容器中运行 emacs

    我使用的是 Mac 想在我的 docker 容器中运行 emacs 有解决这个问题的首选方法吗 在我的流程中 我陷入困境 因为未设置显示 术语 gt docker exec it c6a7a76db84c bash gt sudo apt
  • 测试php字符串是否为整数

    post用于模拟 POST 我发现 POST int 是一个字符串 我怎样才能知道是否 post int 是一个整数 下面表明它不是整数 编辑 根据文档 http php net manual en function is int php
  • 如何覆盖 gem 依赖?

    我有 2 个 gem 它们依赖于冲突版本的 hashie 一个需要 gt 1 2 0 另一个需要 3 3 1 Bundler could not find compatible versions for gem hashie In Gemf
  • 如何在多个多面 ggplot2 图形中实现相同的面大小和比例?

    我有一系列ggplot2具有恒定数量的水平面但不同数量的垂直面的图形 我想将图形保存为横向 a4 格式的 pdf 但是 我不知道如何才能实现相同比例的面 如果我尝试手动调整它并改变width and height对于不同数量的垂直面 图之间
  • 正则表达式不允许输入字段中有空格

    我的表单中有一个用户名字段 我不想在字符串中的任何地方允许空格 我已经使用了这个正则表达式 var regexp S 如果字符之间有空格 这对我有用 也就是说 如果用户名是ABC DEF 如果开头有空格 则不起作用 例如
  • 如何设置像 blogspot 这样的子域

    当用户注册我的网站时 应该如何为他们设置子域 需要哪些基础设施 我正在使用 Linux 服务器 您可以使用特定的 DNS CNAME or A AAAA 每个已知子域的条目 或接受 example com 的通配符 DNS 条目 ORIGI
  • Pandas 系列 - 打印列和行

    现在我不太担心在系列中获取数据的最有效方法 假设我的系列如下 A 1 B 2 C 3 D 4 如果我使用 for 循环来迭代它 例如 for row in seriesObj print row 上面的代码将在右侧打印值 但是可以说 我想获
  • 禁用 JTextPane 中的编辑,同时允许可见的光标移动

    我有一个JTextPane它是通过从文件中读取来填充的 然后对数据进行解析和格式化 该用户无权编辑JTextPane 但我希望他们能够使用可见的光标在其中导航 如果我使用setEditable false 光标是不可见的 尽管可以通过按住来