JavaFX:如何在codeArea上创建撤消点

时间:2017-05-10 11:58:43

标签: javafx editor undo redo

我有一个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);
}

1 个答案:

答案 0 :(得分:1)

使用UndoManager:

public void insertText(String text) 
{
    codeArea.getUndoManager().mark();
    int index = codeArea.getCaretPosition();
    codeArea.insertText(index, text);
}