DocumentFilter:为什么调用replace()而不是insertString()?

2024-01-06

我已经实现了DocumentFilter子类,当我在JTextComponent, the replace()过滤器的方法被调用,而不是insertString()(从未被调用)。知道为什么吗?


The insertString(...)当您使用 Document.insertString(...) 方法直接更新 Document 时,会调用该方法。

The replace(...)当用户输入文本或用户调用与文本字段关联的操作(剪切、粘贴)时,通过视图(即 JTextField)的方法更新文档时,将调用该方法。

我想总是替换然后让替换逻辑检查以查看是否需要删除/插入更容易。

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

DocumentFilter:为什么调用replace()而不是insertString()? 的相关文章

随机推荐

  • 获取参数编码

    我在 GET 请求中使用 spring mvc 和特殊字符时遇到问题 考虑以下方法 RequestMapping update public Object testMethod RequestParam String name throws
  • C 中文件范围内可变修改的数组

    我有一些这样的代码 static int a 6 static int b 3 static int Hello a b 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 但是当我编译它时 它说错误 在文件范围内可变地
  • 使用 Java-JDBC 从 Oracle 数据库读取数据时的字符编码

    我们的数据存储在 oracle 10g db 中 其中包含法语字符集 要求是使用 Java 读取数据并生成输出文件 我通过 SQL plus 检查了 Oracle db 中数据的有效性 看起来不错 从窗口 set NLS LANG AMER
  • Android 应用内购买问题

    我已使用静态响应 ID 在我的帐户中实现了应用内购买android test purchased 现在购买该商品时Toast弹出窗口说 谢谢 您的物品很快就会出现 我认为到目前为止一切都很完美 我的问题是 这是哪里做的Toast来自 我找不
  • 将简单元数据附加到 MySQL 数据库

    有没有办法将一段元数据附加到 MySQL 数据库 我正在尝试编写代码 以便在代码升级需要时自动更新数据库架构 这需要存储单个整数值 模式版本 我当然可以为其创建一个完整的表格 但这对于一个简单的数字来说似乎有点过分了 您可以使用表注释来存储
  • 如何访问默认的 iOS 声音并将其设置为通知声音?

    如何访问默认的 iOS 声音 三音 编钟 玻璃 喇叭 铃声 电子 以将其设置为本地通知声音 我已经创建了本地通知 一切正常 但使用默认声音 三音 我想使用 Chime 或其他 我只知道如何使用我自己的声音文件 localNotif soun
  • 如何从内存中删除 perl 对象

    我编写的 Perl 脚本的内存使用存在一些问题 代码如下 该脚本启动一些变量 用数据填充它们 然后再次取消定义它们 但是 删除所有内容后脚本的内存使用率仍然很高 无法包含任何数据 根据ps该脚本在前 39 秒内使用 1 027 Mb 内存
  • 如何管理生成静态库和 dll 的构建库项目?

    我有一个包含约 50 个项目的大型视觉工作室解决方案 有 StaticDebug StaticRelease Debug 和 Release 的配置 有些库需要 dll 和静态库两种形式 为了获得它们 我们使用不同的配置重建解决方案 配置管
  • 根据出生日期搜索用户年龄

    我无法理解如何根据用户的出生日期对用户年龄进行范围搜索 我的数据库仅存储用户 dob 我希望访问者使用高级搜索表单并执行年龄搜索 例如 18 23 28 36 等 我尝试了一些方法 但似乎都不起作用 我向用户模型添加了范围 定义最小和最大年
  • 如何从 ListView 启动一个新活动并为其指定多个参数

    下面是我的代码 它在列表视图中显示从 json 解析的数据 我想在用户单击列表中的任何项目时开始新活动 我关注了这个网址http www androidhive info 2012 01 android json parsing tutor
  • ASP Net Core 3 会话(状态)并发性和完整性

    我有一个页面同时请求多个请求 所以这些请求都在同一个会话中 为了访问我到处使用的会话IHttpContextAccessor 我的问题是 无论时间如何 某些请求都看不到其他请求已经设置的会话状态 而是看到一些先前的状态 再次在时间上 设置状
  • 从 ajax 调用获取表单时,MVC2 客户端验证不起作用

    我正在尝试在通过 get 呈现的部分视图中使用 MVC2 客户端验证 但是 客户端验证不起作用 我不太确定这笔交易是什么 Required ErrorMessage Email is required public string Email
  • 有没有一个好的python库可以将数字转换成各自的“符号”? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 0 0 1 1 9 9 10 a 11 b 35 z 36 A 37 B 60 Z 61 10 62 11 70 19 71 1a 72
  • 在 R 中暂停和恢复插入符号训练

    假设我会做一个caret在 R 中进行训练 但我想将此训练分为两个运行会话 library mlbench data Sonar library caret set seed 998 inTraining lt createDataPart
  • 元素 mat-checkbox-ripple 被切断

    有一个带有复选框 MatCheckbox 的列表 当用户单击复选框时 动画将被切断 每个复选框的包装都有 display flex overflow hidden 风格 我看到 mat ripple element 具有绝对位置 无法理解为
  • 字符串连接的意外结果

    我编写了以下代码来从每行的文件名文件列表中读取并向其附加一些数据 open my info lt abc txt while lt info gt chomp my filename temp xml print n print filen
  • 使用 IAudioEncoderProperties 在 DirectShow 应用程序中配置 LAME MP3 编码器

    我正在编写一个 NET DirectShow 应用程序 它从任何捕获设备捕获音频流 使用 LAME directshow 过滤器将其编码为 mp3 最后将流写入文件 这是我的直接显示图 捕获源 gt LAME AUDIO ENCODER 音
  • NetBeans 中 PHPUnit 和 Selenium 的代码完成

    如何让 NetBeans 为 PHPUnit 类和方法提供代码完成 我已经尝试过从PHPUnit GitHub 项目 https github com sebastianbergmann phpunit 但我不明白为什么该目录与上面提到的不
  • git-rev-list 的排序

    git rev list 如何对它返回的提交进行排序 我主要指的是并发开发分支中的提交 然后合并到主分支中 提交似乎并没有按照日期排序 这是有道理的 因为可以从过去或未来的不同时间挑选提交 例如 这里有一些历史记录git log Sat 2
  • DocumentFilter:为什么调用replace()而不是insertString()?

    我已经实现了DocumentFilter子类 当我在JTextComponent the replace 过滤器的方法被调用 而不是insertString 从未被调用 知道为什么吗 The insertString 当您使用 Docume