我正在使用Java swing制作文本编辑器.我正在使用JTextArea.我想知道如何在JTextArea中使用撤消和重做功能,因为我无法使用它.
我做了一段时间已经有一段时间了,我不记得细节,但这里有一些信息的链接:http://java.sun.com/docs/books/tutorial/uiswing/components/generaltext.html
向下滚动到标题为"侦听文档的更改"的部分以开始.
你可以这样
UndoManager manager = new UndoManager();
textArea.getDocument().addUndoableEditListener(manager);
Run Code Online (Sandbox Code Playgroud)
将管理器附加到JTextArea的文档后,它将监视对文本区域内容的所有更改。
将管理器附加到文本组件之后,必须提供一些方法来告诉管理器撤消/重做操作。
在必要时调用UndoManager的public void undo()和public void redo()方法(例如actionlistener的actionPerformed()方法)
您可以通过以下方式将Action对象附加到按钮上,而不用调用undo()和redo()方法来简化任务:
JButton undoButton = new JButton(UndoManagerHelper.getUndoAction(manager));
JButton redoButton = new JButton(UndoManagerHelper.getRedoAction(manager));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8440 次 |
| 最近记录: |