java - 如何修改 StyledEditorKit 并覆盖 defaultKeyTyped Action?

标签 java swing oop

如何修改 StyledEditorKit 并覆盖 defaultKeyTyped Action? 我创建了一个 TextAction,甚至扩展了 StyledEditorKit。但是如何将操作添加到扩展 StyledEditorKit 内的操作列表中?

最终我试图覆盖defaultKeyTyped Action。我可以通过添加一个关键监听器来做到这一点,但我不应该使用编辑器套件来做到这一点吗?从架构上来说,这更接近于为更高级别的操作执行的操作,不是吗?而 addKeyListener 是一个较低级别的方法?

最佳答案

不,我认为这不是 EditorKit 的正确使用方式。更好的方法是使用 DocumentListener 或 DocumentFilter,具体取决于您是否想在将输入提交到文档之前或之后对输入进行操作。另外,另一种选择是考虑使用 InputVerifier。

<小时/>

编辑
您声明:

I want to search for regular expressions and highlight text based on those regular expressions after the space key is typed

我自己会为此使用 DocumentListener,但当我的代码对文档进行更改时,请务必关闭监听器,然后再次将其重新打开。

关于java - 如何修改 StyledEditorKit 并覆盖 defaultKeyTyped Action?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18949638/

相关文章:

Java方法的重写和继承

java - 尝试将 setInstance.toArray() 转换为 Integer[],没有编译时错误,但存在运行时错误,为什么?

java: 找不到符号;符号:可变长度

java - Swing:调用 setContentPane 时不刷新界面

java - 如何拦截进入 Java Swing JTextField 的键盘敲击?

java - JButton 按键 - 没有任何反应

perl - 为什么我的方法打印 "isObjectName=SCALAR(0x1289df0)"?

java - 我可以在 android xml 布局或字符串值文件中编写 java 代码吗?

java - if block 中的 if 条件未被检查

java - 检查通用实例?