精华内容
下载资源
问答
  • java文本撤销和恢复

    2012-01-09 20:40:40
    文本撤销和恢复是通过 addUndoableEditListener(UndoableEditListener listener)这个方法来注册实现的。只要是Document类及其子类都可以注册撤销和恢复的监听来实现文档的撤销和恢复,这是非常容易实现的。所以...

    文本的撤销和恢复是通过 addUndoableEditListener(UndoableEditListener listener)这个方法来注册实现的。只要是Document类及其子类都可以注册撤销和恢复的监听来实现文档的撤销和恢复,这是非常容易实现的。所以JTextField,JTextArea,JTextPane都可以实现撤销和恢复功能。因为他们都可以获得Document实例,通过这个方法----getDocument();下面来用实例来讲解一下。

    下面的实例是在一个JTextPane中实现撤销和恢复,通过右键弹出菜单来操作。弹出菜单的第一个菜单项是"撤销",第二个是"恢复",第三个是"插入图片"。

     

    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.awt.event.MouseAdapter;
    import java.awt.event.MouseEvent;

    import javax.swing.ImageIcon;
    import javax.swing.JFrame;
    import javax.swing.JMenuItem;
    import javax.swing.JPopupMenu;
    import javax.swing.JTextPane;
    import javax.swing.event.UndoableEditEvent;
    import javax.swing.event.UndoableEditListener;
    import javax.swing.undo.UndoManager;
    import com.jijing.tool.SwingConsole;

    public class UndoFunction extends JFrame{

        /**
         * @param args
         * 实现简单的撤销功能,并通过Ctrl+Z快捷键来快速操作,这次是在一个文本面板中,既可以写文字又可以插入图片,可以撤销也可以恢复
         * 通过鼠标右键来弹出菜单实现撤销和恢复的操作
         */
        private UndoManager um;//撤销管理类
        private JTextPane jp;//文本面板
        private String name[]={
                "撤销",
                "恢复",
                "插入图片"
        };
        private JPopupMenu pm;//右键弹出菜单类
        private JMenuItem mt[];
        public UndoFunction(){
            um=new UndoManager();
            jp=new JTextPane();
            pm=new JPopupMenu();
            mt=new JMenuItem[3];
            for(int i=0;i<3;++i){
                mt[i]=new JMenuItem(name[i]);
                pm.add(mt[i]);
                mt[i].addActionListener(new PopupAction());
            }
            add(jp);
            jp.addMouseListener(new MouseAdapter(){
                public void mousePressed(MouseEvent e){
                    maybeShowPopup(e);
                }
                public void mouseReleased(MouseEvent e){
                    maybeShowPopup(e);
                }
                private void maybeShowPopup(MouseEvent e){
                    if(e.isPopupTrigger()){//如果有弹出菜单
                        pm.show(e.getComponent(), e.getX(), e.getY());
                    }
                }
            });
            jp.getDocument().addUndoableEditListener(new UndoableEditListener(){//注册撤销可编辑监听器
                public void undoableEditHappened(UndoableEditEvent e) {
                    um.addEdit(e.getEdit());
                }
               
            });//编辑撤销的监听
        }
        public static void main(String[] args) {
            SwingConsole.swingRun(new UndoFunction(),600,400);
        }
        class PopupAction implements ActionListener{
            public void actionPerformed(ActionEvent e) {
                if(e.getSource()==mt[0]&&um.canUndo()){//撤销
                    um.undo();
                }else if(e.getSource()==mt[1]&&um.canRedo()){//恢复
                    um.redo();
                }else if(e.getSource()==mt[2]){//插入图片
                    ImageIcon icon=new ImageIcon(getClass().getResource("/1.png"));
                    jp.insertIcon(icon);
                }
            }
        }
    }

    其实对于文档编辑的撤销和恢复是非常简单的,只要获取getDocument()就可以实现监听了,在监听方法中添加编辑数据就可以了,

    UndoManager .addUndoableEditListener(UndoableEditEvent .getEdit());

    在就是在撤销操作中调用UndoManager .undo()就可以了,还有canUndo()这个方法和重要,用于判断undo操作是否成功,如果成功就返回true。

    在恢复操作中调用UndoManager .redo()可以实现恢复,还有canRedo()方法判断redo操作是否成功,如果成功返回true。

    //下面讲解的是 如果没有提供addUndoableEditListener()方法怎么实现撤销和恢复操作

    展开全文
  • java文本撤销与恢复

    千次阅读 2017-07-12 15:52:47
    文本撤销和恢复是通过 addUndoableEditListener(UndoableEditListener listener)这个方法来注册实现的。只要是Document类及其子类都可以注册撤销和恢复的监听来实现文档的撤销和恢复,这是非常容易实现的。所以...

    文本的撤销和恢复是通过 addUndoableEditListener(UndoableEditListener listener)这个方法来注册实现的。只要是Document类及其子类都可以注册撤销和恢复的监听来实现文档的撤销和恢复,这是非常容易实现的。所以JTextField,JTextArea,JTextPane都可以实现撤销和恢复功能。因为他们都可以获得Document实例,通过这个方法----getDocument();下面来用实例来讲解一下。

    下面的实例是在一个JTextPane中实现撤销和恢复,通过右键弹出菜单来操作。弹出菜单的第一个菜单项是"撤销",第二个是"恢复",第三个是"插入图片"。

    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.awt.event.MouseAdapter;
    import java.awt.event.MouseEvent;
    import javax.swing.ImageIcon;
    import javax.swing.JFrame;
    import javax.swing.JMenuItem;
    import javax.swing.JPopupMenu;
    import javax.swing.JTextPane;
    import javax.swing.event.UndoableEditEvent;
    import javax.swing.event.UndoableEditListener;
    import javax.swing.undo.UndoManager;
    import com.jijing.tool.SwingConsole;
    public class UndoFunction extends JFrame{
        /**
         * @param args
         * 实现简单的撤销功能,并通过Ctrl+Z快捷键来快速操作,这次是在一个文本面板中,既可以写文字又可以插入图片,可以撤销也可以恢复
         * 通过鼠标右键来弹出菜单实现撤销和恢复的操作
         */
        private UndoManager um;//撤销管理类
        private JTextPane jp;//文本面板
        private String name[]={
                "撤销",
                "恢复",
                "插入图片"
        };
        private JPopupMenu pm;//右键弹出菜单类
        private JMenuItem mt[];
        public UndoFunction(){
            um=new UndoManager();
            jp=new JTextPane();
            pm=new JPopupMenu();
            mt=new JMenuItem[3];
            for(int i=0;i<3;++i){
                mt[i]=new JMenuItem(name[i]);
                pm.add(mt[i]);
                mt[i].addActionListener(new PopupAction());
            }
            add(jp);
            jp.addMouseListener(new MouseAdapter(){
                public void mousePressed(MouseEvent e){
                    maybeShowPopup(e);
                }
                public void mouseReleased(MouseEvent e){
                    maybeShowPopup(e);
                }
                private void maybeShowPopup(MouseEvent e){
                    if(e.isPopupTrigger()){//如果有弹出菜单
                        pm.show(e.getComponent(), e.getX(), e.getY());
                    }
                }
            });
            jp.getDocument().addUndoableEditListener(new UndoableEditListener(){//注册撤销可编辑监听器
                public void undoableEditHappened(UndoableEditEvent e) {
                    um.addEdit(e.getEdit());
                }
                
            });//编辑撤销的监听
        }
        public static void main(String[] args) {
            SwingConsole.swingRun(new UndoFunction(),600,400);
        }
        class PopupAction implements ActionListener{
            public void actionPerformed(ActionEvent e) {
                if(e.getSource()==mt[0]&&um.canUndo()){//撤销
                    um.undo();
                }else if(e.getSource()==mt[1]&&um.canRedo()){//恢复
                    um.redo();
                }else if(e.getSource()==mt[2]){//插入图片
                    ImageIcon icon=new ImageIcon(getClass().getResource("/1.png"));
                    jp.insertIcon(icon);
                }
            }
        }
    }

    其实对于文档编辑的撤销和恢复是非常简单的,只要获取getDocument()就可以实现监听了,在监听方法中添加编辑数据就可以了,

    UndoManager .addUndoableEditListener(UndoableEditEvent .getEdit());

    在就是在撤销操作中调用UndoManager .undo()就可以了,还有canUndo()这个方法和重要,用于判断undo操作是否成功,如果成功就返回true。

    在恢复操作中调用UndoManager .redo()可以实现恢复,还有canRedo()方法判断redo操作是否成功,如果成功返回true。

    //下面讲解的是 如果没有提供addUndoableEditListener()方法怎么实现撤销和恢复操作


    展开全文
  • 基于java文本编辑器实现,可以对文本进行剪切,复制,粘贴 ,撤销,重做等,同时还添加调试功能基于java文本编辑器实现,可以对文本进行剪切,复制,粘贴 ,撤销,重做等,同时还添加调试功能
  • java实现文本编辑

    2019-03-21 16:46:27
    (2) 编辑撤销,取消撤销,剪切,复制,粘贴,全选,删除,替换(替换单个、全部替换),查找(查找一个,查找下一个) (3)格式的字体设置(字体、字形、字号) (4)快捷键(所有功能的快捷键都实现了) ...
  • 作文本编辑器的时候,撤销(undo)、恢复(redo)是必不可少的两个功能。实现这个功能,要用到javax.swing.undo包中的UndoManager类。 UndoManager类有如下常用方法: boolean canUndo() ——判断能否进行撤消操作,...

    作文本编辑器的时候,撤销(undo)、恢复(redo)是必不可少的两个功能。实现这个功能,要用到javax.swing.undo包中的UndoManager类。

     

    UndoManager类有如下常用方法:

     

    boolean canUndo()  ——判断能否进行撤消操作,可以则返回true。

    boolean canRedo()  ——判断能否进行恢复操作,可以则返回true。

    void Undo()  ——进行撤消操作。

    void Redo()  ——进行恢复操作。

     

    但是,进行撤销、恢复操作前还应为撤销、恢复的对象注册侦听器。在文本编辑器中,对象就是文本。例如先声明两个对象:

     

    JTextArea text = new JTextArea();

    UndoManager undomg = new UndoManager();

     

    接下来,为text添加侦听器:

     

    text.getDocument().addUndoableEditListener(undomg);

     

    这里要说名一下,之所以要写getDocument()是因为注册侦听器的对象是文本,不是文本框。addUndoableEditListener(undomg)的作用是为text的文本注册侦听器,该方法的原型是:

     

    void addUndoableEditListener(UndoableEditListener listener) 

     

    可以看出,该方法的参数应是一个UndoableEditListener接口类型的参数,而我们用的参数是UndoManager类型,这是因为UndoManager类已经实现了UndoableEditListener接口的缘故。

     

    现在就可以进行撤销、恢复操作了。方法是:

     

    undomg.Undo(); //撤销

    undomg.Redo(); //恢复

     

    但是这样不算完美,因为如果无法撤销或恢复,这两个语句就不会起任何作用。因此我们改用如下方法:

     

    if(undomg.canUndo()) { //撤销

        undomg.Undo();

    }

     

    if(undomg.canRedo()) { //恢复

        undomg.Redo();

    }

     

     

    这样一来,文本编辑器的撤销、恢复功能很容易地就实现了。以下是一个例子:

    运行效果如下:

    展开全文
  • 广工java文本编辑器课设(含源代码和报告),完成文本编辑器的基本功能新建文本、保存文本、打开文本撤销、删除、剪切、复制、粘贴、大小写转换、查找、字数、行数、状态栏、字体大小和颜色、背景颜色等
  • 作文本编辑器的时候,撤销(undo)、恢复(redo)是必不可少的两个功能。实现这个功能,要用到javax.swing.undo包中的UndoManager类。UndoManager类有如下常用方法:boolean canUndo() ——判断能否进行撤消操作,可以则...

    作文本编辑器的时候,撤销(undo)、恢复(redo)是必不可少的两个功能。实现这个功能,要用到javax.swing.undo包中的UndoManager类。

    UndoManager类有如下常用方法:

    boolean canUndo()  ——判断能否进行撤消操作,可以则返回true。

    boolean canRedo()  ——判断能否进行恢复操作,可以则返回true。

    void Undo()  ——进行撤消操作。

    void Redo()  ——进行恢复操作。

    但是,进行撤销、恢复操作前还应为撤销、恢复的对象注册侦听器。在文本编辑器中,对象就是文本。例如先声明两个对象:

    JTextArea text = new JTextArea();

    UndoManager undomg = new UndoManager();

    接下来,为text添加侦听器:

    text.getDocument().addUndoableEditListener(undomg);

    这里要说名一下,之所以要写getDocument()是因为注册侦听器的对象是文本,不是文本框。addUndoableEditListener(undomg)的作用是为text的文本注册侦听器,该方法的原型是:

    void addUndoableEditListener(UndoableEditListener listener)

    可以看出,该方法的参数应是一个UndoableEditListener接口类型的参数,而我们用的参数是UndoManager类型,这是因为UndoManager类已经实现了UndoableEditListener接口的缘故。

    现在就可以进行撤销、恢复操作了。方法是:

    undomg.Undo(); //撤销

    undomg.Redo(); //恢复

    但是这样不算完美,因为如果无法撤销或恢复,这两个语句就不会起任何作用。因此我们改用如下方法:

    if(undomg.canUndo()) { //撤销

    undomg.Undo();

    }

    if(undomg.canRedo()) { //恢复

    undomg.Redo();

    }

    这样一来,文本编辑器的撤销、恢复功能很容易地就实现了。以下是一个例子:

    import java.awt.*;

    import java.awt.event.*;

    import javax.swing.*;

    import javax.swing.undo.*;

    class UndoDemo extends JFrame {

    static JTextArea text = new JTextArea();

    static JPanel pnl = new JPanel();

    static JButton unbtn = new JButton("撤销");

    static JButton rebtn = new JButton("恢复");

    static UndoManager undomg = new UndoManager();

    UndoDemo() {

    super("撤销、恢复功能实例");

    setVisible(true);

    setSize(400,300);

    s

    展开全文
  • Java实现多文档文本编辑

    千次阅读 2018-01-27 16:55:34
    java实现多文档文本编辑编辑器界面比较简单,但功能较为全面,可以保存,另存,打开文件,复制,粘贴,撤销,剪切,字体设置,部分文字的字体设置,部分文字的颜色设置,字数统计,查找,替换等功能。 package ...
  • JAVA文本编辑器(一)

    万次阅读 多人点赞 2018-06-02 12:55:40
    作业题,花了整整两天终于搞出来了,今天给大家整理一下思路。 这里用swing ,awt写的。 我们大概要做成一个电脑的记事本那样的一个编辑器。可以调整字体,字号,颜色。... 关键词:JAVA文本编辑器, 思路...
  • JAVA:一个简易的文本编辑

    千次阅读 多人点赞 2019-04-12 19:17:15
    Today,我们来做一个JAVA文本编辑器,使用的基础知识有AWT,I/O流,异常处理,数组,循环,编辑器是Eclipse IDE,编译环境为javaSE-10,该文本编辑器有以下九项功能 1.可以新建文本文件 2.可以进行页面设置 3....
  • 这个文本编辑器,除了打印模块没写、查找和替换别写完整外,其它功能全部完善。撤销最多支持20步,可在程序中根据自己的需要修改。大文件如8MB等文件采用线程打开,有进度条,并且打开同时可以进行其他操作。支持...
  • 文本编辑器 实现了打开、保存、撤销、字形组合框、颜色单选框、字数统计、行数统计、自动换行、在指定位置插入字符、查找、替换、全选、删除、……………… 程序可供初学者学习使用,主要是简单,本程序纯属自己课堂...
  • 五天前,我用基本的文件操作写出了信析团队考核的内容,这几天,我自学了一点Java Swing界面,用Java Swing界面写出了文件操作管理器。这方面的东西并不是很难,没有使用IO流那样复杂,主要是要记的东西比较多,下面...
  • JAVA - 大作业(1)文本编辑器 > 背景 JAVA上机大作业:qq / 代码评价系统 第一次上机主题是练习JAVA自带的GUI图形化编程 目的:实现一个跟window10记事本界面相同,功能相近的文本编辑器,时间有剩余的话...
  • 关于Windows操作系统的文件扩展名的设置: 保证文件扩展名是.java? 打开此电脑–>查看–>文件名的扩展名 Java语言特性【开源,免费,纯面向对象,跨平台】 简单性、面向对象、可移植性、多线程、健壮性、安全...
  • Java 13 文本

    万次阅读 2019-09-18 14:46:03
    在从Java 12中删除类似功能之后,Java 13最终支持多行字符串文字Java中的字符串文字Java中声明字符串文字很容易: String myString = "Behold, a string literal!"; 没什么新鲜的吧?然而,传统的字符串文字...
  • 多文档文本编辑器--Multiple Documents Text Editor 使用java语言按照java Bean 规范进行开发,基于MVC模型, 编码规范简洁,结构紧凑,且有详细注释,很适用于java初学者 作为进阶的参考! 该软件实现了多文档编辑...
  • 2. 编辑器可以撤销,恢复,剪切,复制黏贴文本。 3. 编辑器可以设置编码和解码的格式(慎用) 4. 编辑器支持ctrl+s,ctrl+c,ctrl+v,ctrl+z,ctrl+y等快捷键。 5. 编辑器支持ctrl+鼠标滚轮放大和缩小字体。 6. 编辑器下方...
  • Java写的一个记事本的小程序,实现了新建,打开,另存为... 打开文本文件  下面贴上完整代码,代码里面有详细注释  import java.awt.FileDialog; import java.awt.GridLayout; import java.awt.Toolkit; i
  • java笔试题--Java实现命令编辑

    千次阅读 2012-10-09 23:27:02
    type命令用于当输入文本,而undo命令用于撤销操作。输入undo 1,表示向前撤销1秒。撤销操作可以指定撤销到当前时间之前操作的时间,并且撤销操作对自身同样有效。 例子: 命令输入的时间 命令 显示结果 ...
  • import java.awt.FileDialog; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import ja...
  • Java】Eclipse中常用操作快捷键编辑查看窗口导航编辑 编辑 范围 作用 快捷键 全局 查找并替换 Ctrl + F 全局 撤销 Ctrl + Z 全局 复制 Ctrl + C 全局 恢复上一个选择 Alt + Shift + ↓ 全局 剪切 ...
  • 文本编辑

    2016-11-22 09:10:33
    内含程序代码和课程设计总结...编辑文档可实现撤销、恢复、复制、粘贴、剪切、全选、删除、查找、替换等操作;有自动换行功能,具有字体设置,还可以设置背景色,可以查看状态栏,有鼠标右键,特色是有美观的登录界面
  • java文件操作之移动文件到指定的目录
  • 作者:邹峰立,微博:zrunker,邮箱:zrunker@yahoo.com,微信公众号...书客编辑器是一款基于Markdown标记语言的开源的富文本编辑器,它以简易的操作界面和强大的功能深受广大开发者的喜爱。正如官方所说:现在的版...
  • 实现文本的复制和粘贴、文本撤销和恢复(Swing JTextArea) 文本撤销和恢复是通过 addUndoableEditListener(UndoableEditListener listener)这个方法来注册实现的。只要是Document类及其子类都可以注册撤销和...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 21,446
精华内容 8,578
关键字:

java编辑文本撤销操作

java 订阅