【发布时间】:2010-09-29 20:52:36
【问题描述】:
我正在尝试编写一个支持某种着色的 JTextPane:当用户键入文本时,我正在运行一些代码,根据某种算法为文本着色。这很好用。
问题在于着色操作已注册到撤消管理器(带有 EventType.CHANGE 的 DefaultDocumentEvent)。因此,当用户单击撤消时,着色消失。只有在第二次撤消请求时,文本本身才会回滚。
(请注意,着色算法有点慢,因此我无法在插入文本时为其着色)。
如果我试图阻止 CHANGE 事件到达撤消管理器,我会在多次撤消请求后收到异常:这是因为文档内容不符合 undoable-edit 对象的预期。
有什么想法吗?
【问题讨论】: