在 JTextPane 中撤消和重做忽略样式更改
Undo And Redo In JTextPane Ignoring Style Changes
我想知道是否有一种方法可以在使用 Swing 的 UndoManager 时忽略 JTextPane 中的文本样式更改?
我从未尝试过,但我想您可以创建自定义 UndoManager。
您需要覆盖 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);
}
我想知道是否有一种方法可以在使用 Swing 的 UndoManager 时忽略 JTextPane 中的文本样式更改?
我从未尝试过,但我想您可以创建自定义 UndoManager。
您需要覆盖 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);
}