- 浏览: 5183185 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (756)
- postgreSQL (1)
- 数据库 (18)
- oracle (1)
- Java Web (212)
- ZK框架 (0)
- installanywhere (0)
- linux命令 (51)
- dos cmd (3)
- 随笔_随感 (14)
- Java (290)
- C (1)
- unix (11)
- C++ (0)
- perl (0)
- python (10)
- ruby (2)
- bash (4)
- mysql (8)
- android (5)
- 法律 (0)
- maven ant (2)
- ios (11)
- Continuous integration (3)
- java swing (71)
- java swt (4)
- spring MVC (26)
- javascript (139)
- css (23)
- libgdx (0)
- nginx (9)
- loadruner (0)
- php (5)
- git (9)
- IDEA (6)
- 接口调试神器 (9)
- 数学math (1)
- eclipse (2)
- mac (17)
- freemark (0)
- ajax (1)
- less (1)
- zookeeper (1)
- react (3)
- html5 (3)
- jQuery (1)
- gitlab (2)
- shell (6)
- zsh (1)
- hibernate (6)
- gradle (3)
- groovy (3)
- 分布式锁 (1)
最新评论
-
fanchengliang:
好用,特地登录了来顶
破解 navicat premium 11 -
w_mojian180:
这个方法对于子类来说是没效果的
Spring AOP会忽略从父类继承的方法 -
cremains:
如何使用redis实现分布式锁 -
wangyudong:
没这么麻烦吧,网上找了一个Holer工具,只需要配置一个Acc ...
公网访问局域网内的数据库 -
haoxuexi87:
Jmeter性能测试从入门到精通(2018年最新)课程观看地址 ...
JMeter 接口测试入门01
类UndoTextArea:
package com.pass.component; import java.awt.event.ActionEvent; import javax.swing.AbstractAction; import javax.swing.JTextArea; import javax.swing.KeyStroke; import javax.swing.event.UndoableEditEvent; import javax.swing.event.UndoableEditListener; import javax.swing.text.Document; import javax.swing.undo.CannotRedoException; import javax.swing.undo.CannotUndoException; import javax.swing.undo.UndoManager; public class UndoTextArea extends JTextArea { private static final long serialVersionUID = 2622113838910292609L; UndoManager undo = new UndoManager(); Document doc = getDocument(); public void stopUndo() { // undo.die(); undo.discardAllEdits(); } public UndoTextArea() { doc.addUndoableEditListener(new UndoableEditListener() { public void undoableEditHappened(UndoableEditEvent e) { undo.addEdit(e.getEdit()); } }); addActionMap(); } public void addActionMap() { getActionMap().put("Undo", new AbstractAction("Undo11") { private static final long serialVersionUID = 2434402629308759912L; public void actionPerformed(ActionEvent evt) { try { boolean b = undo.canUndo(); // System.out.println("whether undo : "+b); if (b) { undo.undo(); } } catch (CannotUndoException e) { } } }); getInputMap().put(KeyStroke.getKeyStroke("control Z"), "Undo"); getActionMap().put("Redo", new AbstractAction("Redo1111") { private static final long serialVersionUID = 5348330289578410517L; public void actionPerformed(ActionEvent evt) { try { if (undo.canRedo()) { undo.redo(); } } catch (CannotRedoException e) { } } }); getInputMap().put(KeyStroke.getKeyStroke("control R"), "Redo"); getActionMap().put("Copy", new AbstractAction("Copy111") { private static final long serialVersionUID = -5151480809625853288L; public void actionPerformed(ActionEvent evt) { copy(); } }); getInputMap().put(KeyStroke.getKeyStroke("control C"), "Copy"); getActionMap().put("Cut", new AbstractAction("Cut") { private static final long serialVersionUID = 7316612864835857713L; public void actionPerformed(ActionEvent evt) { cut(); } }); getInputMap().put(KeyStroke.getKeyStroke("control X"), "Cut"); getActionMap().put("Paste", new AbstractAction("Paste111") { private static final long serialVersionUID = -3548620001691220571L; public void actionPerformed(ActionEvent evt) { paste(); } }); getInputMap().put(KeyStroke.getKeyStroke("control V"), "Paste"); } }
测试类:FrameMain
package com.pass.test; import java.awt.Color; import java.awt.GridLayout; import javax.swing.JFrame; import javax.swing.JPanel; import com.pass.component.UndoTextArea; public class FrameMain extends JFrame { private static final long serialVersionUID = 3526577815017461757L; public static void main(String[] args) { new FrameMain().launchFrame(); } public void launchFrame(){ JPanel pane=new JPanel(); pane.setLayout(new GridLayout(2, 1)); UndoTextArea txt1= new UndoTextArea(); txt1.setBackground(new Color(255, 255, 100)); txt1.setText("txt1"); txt1.stopUndo(); UndoTextArea txt2= new UndoTextArea(); txt2.setBackground(new Color(255, 100, 100)); txt2.setText("txt2"); txt2.stopUndo(); pane.add(txt1); pane.add(txt2); this.getContentPane().add(pane); this.setBounds(100, 100, 400, 400); this.setDefaultCloseOperation(3); this.setVisible(true); } }
运行FrameMain,弹出swing窗口
随便输入什么内容,然后Ctrl+Z 就可以进行测试了。
发表评论
-
阿里巴巴2020年校招开始啦
2019-03-15 11:19 3486大家好! 我是黄威,2011年武汉毕业的, 现在在阿 ... -
java多线程知识整理
2018-08-09 09:08 1822java多线程知识整理 本文不是入门篇,仅记录容易出错 ... -
springMVC 自定义400或404页面/响应
2018-03-20 00:07 4364摘要: SpringMVC 自带的400或404 页面都是网 ... -
根据java 实体类生成建表语句
2018-03-01 10:53 6080根据java 实体类生成建表语句 直接上代码: pack ... -
java socket实现的简易的聊天工具demo
2018-02-28 15:32 3245这是一个使用原生java socket实现的简易的聊天工具d ... -
把字符串转化为json
2017-05-17 10:46 1774把字符串转化为json 任务: 把字符串 {" ... -
java 反射调用成员方法
2017-04-11 08:58 1348java 反射调用成员方法 public static G ... -
让cookie失效要注意的问题
2017-04-09 14:01 6518让cookie失效要注意的 ... -
java 文件名过滤特殊字符
2017-03-14 13:25 5289java 文件名过滤特殊字符 /** * 过滤 ... -
java 时间相关操作
2017-03-06 10:39 585java 时间相关操作 (1) public s ... -
java 解决实体类序列化时,报failed to lazily initialize 的问题
2017-01-25 17:02 4453java 解决实体类序列化时,报failed to lazi ... -
maven批量打包,并且显示打包结果
2017-01-23 13:54 3363maven批量打包,并且显示打包结果 #!/bin/ba ... -
java 初始化Number包装类型
2017-01-22 10:06 2465java 初始化Number包装类型 比如有的java b ... -
java 反序列化复杂Map
2017-01-19 15:31 10466java 如何反序列化复杂的map呢? 例如: 待反 ... -
java把截图上传至服务器
2017-01-16 14:32 1633java 把上传截图到服务器 (1)从JTextArea或 ... -
正则表达式的一些常用场景
2017-01-04 09:29 1101正则表达式的一些常用场景 (1)过滤表情符号 /*** ... -
java 正则表达式获取文本中数字
2016-12-27 20:07 5300java 正则表达式获取字符串中的数字 实例: publ ... -
org.apache.http.client.methods.HttpPost的使用和坑
2016-12-23 16:18 3386org.apache.http.client.methods ... -
java 匹配非换行
2016-12-13 17:28 1542java 匹配非换行 @Test public ... -
java.lang.OutOfMemoryError: unable to create new native thread
2016-09-06 20:57 1021运行java swing程序时,报错: xception ...
相关推荐
NULL 博文链接:https://saga-java.iteye.com/blog/1549583
实现Java中编辑器的Undo、Redo操作,功能比较强大
Undo
这个是做实验时,简单基本的Undo、Redo的操作、在一个winForm中实现,并且可以设置Undo的最大次数。包中除了项目外,还附有报告.
redo undo framework source code redo undo framework source code
oracle版本的undolog建表语句。 2019 年 1 月,阿里巴巴中间件团队发起了开源项目 Fescar(Fast & EaSy Commit And Rollback),和社区一起共建开源分布式事务解决方案。Fescar 的愿景是让分布式事务的使用像本地...
c# undo/redo例子 支持文字的样式,颜色修改 动态进度条
javax.swing.undo 允许开发人员为应用程序(例如文本编辑器)中的撤消/恢复提供支持。 javax.transaction 包含解组期间通过 ORB 机制抛出的三个异常。 javax.transaction.xa 提供定义事务管理器和资源管理器之间的...
UNDO表空间用来存放改变前的旧值。里面也有段区块,ORACLE自动建立生成、自动使用UNDO段。 作为高级别的DBA是需要知道ORACLE如何使用UNDO段的。 1 Undo表空间及管理方式 ORACLE开始一个事务的时候,会用到表空间。...
介绍12c新特性Temporary Undo
Undo_Redo机制在CAD中的应用, 摘要:为了增强CAD系统的灵活性,提高设计的效率,本文引入设计模式概念,通过对数据对象的持久化.设计出一套支 持无限Undo/Redo和批量化操作的CAD图形绘制系统,文章介绍了各模块的...
针对一个window窗体实现了undo/redo功能,包括textBox,checkBox, listBox, comboBox, radioButton以及按钮焦点变化的实现。可能有些小bug思路仅供参考。完整的工程文件,VS打开即可运行,欢迎评论~ 详细说明参见...
Undo/Redo framework for editing controls in a Windows application 在Windows应用程序中编辑控件的撤销/重做框架。
实现redo,undo操作,来源于网络分享下。
cpp文件 undo redo 原型设计 部分代码 class Command { public: virtual BOOL UnDo() = 0; virtual BOOL ReDo() = 0; };
比较深入浅出的描述了基于oracle10g/11g的UNDO表空间的管理
RAC下的REDO和UNDO管理 收藏.docxRAC下的REDO和UNDO管理 收藏.docxRAC下的REDO和UNDO管理 收藏.docxRAC下的REDO和UNDO管理 收藏.docxRAC下的REDO和UNDO管理 收藏.docxRAC下的REDO和UNDO管理 收藏.docxRAC下的REDO和...
演示如何收缩Oracle数据库的undo表空间
Multiple Level Undo/Redo多级Undo/Redo功能的实现(7KB)