1

我有一个 CodeArea (org.fxmisc.richtext.CodeArea)。它支持热键 CTRL-Z 撤消和 CTRL-Y 重做。

我在插入符号位置以编程方式插入文本。现在,当我点击撤消时,此撤消比撤消文本插入更进一步,它撤消了文件的创建,因此代码区域再次为空。

我想在插入文本之前创建一个撤消保存点。必须有某种方法可以做到这一点(我希望!)。

public void insertText(String text) 
{
    //TODO insert code here to create an undo point
    int index = codeArea.getCaretPosition();
    codeArea.insertText(index, text);
}
4

1 回答 1

1

使用撤消管理器:

public void insertText(String text) 
{
    codeArea.getUndoManager().mark();
    int index = codeArea.getCaretPosition();
    codeArea.insertText(index, text);
}
于 2018-04-11T20:22:57.640 回答