Java 在JTextPane中撤消和重做忽略样式更改
我想知道在使用Swing的UndoManager时,是否有办法忽略JTextPane中的文本样式更改 我从未尝试过,但我想您可以创建一个自定义管理器 您需要重写Java 在JTextPane中撤消和重做忽略样式更改,java,jtextpane,undo-redo,Java,Jtextpane,Undo Redo,我想知道在使用Swing的UndoManager时,是否有办法忽略JTextPane中的文本样式更改 我从未尝试过,但我想您可以创建一个自定义管理器 您需要重写undoableEditHappend(…)方法以忽略属性更改: @Override public void undoableEditHappened(UndoableEditEvent e) { // Check for an attribute change AbstractDocument.DefaultDocu
undoableEditHappend(…)
方法以忽略属性更改:
@Override
public void undoableEditHappened(UndoableEditEvent e)
{
// Check for an attribute change
AbstractDocument.DefaultDocumentEvent event =
(AbstractDocument.DefaultDocumentEvent)e.getEdit();
if (event.getType().equals(DocumentEvent.EventType.CHANGE))
return
else
super.undoableEditHappened(e);
}
你知道如何获取添加/删除的文本吗?不,我已经尝试了很多次,但始终无法获取这些信息。我正在JTextPane中执行一些简单的语法,缺少内置的撤消/重做非常烦人。幸运的是,我偶然发现了UndoManager,但不幸的是,语法突出显示产生了许多无关紧要的编辑,如果没有这个伟大的答案,UndoManager将毫无用处。谢谢