Adding Undo and Redo to a Text Component (转)

本文介绍如何为JTextArea组件添加撤销(Undo)和重做(Redo)功能,通过实现UndoManager及相应监听器,使得文本编辑操作具备基本的撤销与重做能力。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Adding Undo and Redo to a Text Component (转)[@more@]

 

These code examples and other materials are subject to Sun Microsystems, Inc. Legal Terms

Adding Undo and Redo to a Text Component

JTextArea textarea = new JTextArea(); final Undomanager undo = new UndoManager(); Document doc = textarea.getDocument(); //The next two lines should be in one line. doc.addUndoableEditListener( new UndoableEditListener() { The next two lines should be in one line. public void undoableEditHappened( UndoableEditEvent evt) { undo.addEdit(evt.getEdit()); } }); textarea.getActionMap().put("Undo", new AbstractAction("Undo") { public void actionPerformed(ActionEvent evt) { try { if (undo.canUndo()) { undo.undo(); } } catch (CannotUndoException e) { } } }); textarea.getInputMap().put(KeyStroke.getKeyStroke( "control Z"), "Undo"); textarea.getActionMap().put("Redo", new AbstractAction("Redo") { public void actionPerformed(ActionEvent evt) { try { if (undo.canRedo()) { undo.redo(); } } catch (CannotRedoException e) { } } }); textarea.getInputMap().put(KeyStroke.getKeyStroke( "control Y"), "Redo");

 
 

Examplets TM provided by peRmission of the publisher, Addision-Wesley, and Author Patrick Chan.
Order this book from Amazon


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10752043/viewspace-990838/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/10752043/viewspace-990838/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值