java - 如何在不触发 insertUpdate() 的情况下将文本插入文档

标签 java swing jtextpane documentlistener documentfilter

我想创建一个 Swing JTextPane,它在用户向其中键入文本时执行操作。但我也希望能够更改该 Pane 中的文本,而不会将更改视为用户键入。我该怎么做?

最佳答案

如果您不让更新事件触发,那么您的 UI 也可能不会更新,具体取决于实际实现。因此,我同意您与事件处理程序交谈可能会更好,让它知道下一次更改将是程序更改。像这样:

try {
  listener.setProgrammaticChange(true);
  // change document
}
finally {
  listener.setProgrammaticChange(false);
}

关于java - 如何在不触发 insertUpdate() 的情况下将文本插入文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13784350/

相关文章:

java - 无法识别 TestFX clickOn 方法

JAVA : How do I reduce the timer's time when the timer is running?

java - 计算 JTextPane 中一行文本前的空格数

java - 将 JTextPane 设置为内容类型 HTML 并使用字符串生成器

java - 带有自定义按钮标题的 SWT MessageBox

java - gradle无法在Maven存储库中找到 Artifact

java - Spring Boot 和 Thymeleaf : Switching Pages through Nav bar links

java - 在 Java 应用程序中使用自定义字体时出现打印问题

java - 如何在构建 java 应用程序后使属性文件可用

java - JTextPane 中的文字换行