在JTextPane中忽略和重做忽略样式更改

时间:2016-01-06 22:46:40

标签: java jtextpane undo-redo

我想知道在使用Swing的UndoManager时是否有办法忽略JTextPane中的文本样式更改?

1 个答案:

答案 0 :(得分:2)

我从未尝试过,但我猜你可以创建一个自定义的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);
}