changetextundoableedit.java

来自「这也是我在论坛上看见的一个程序。感觉非常好」· Java 代码 · 共 64 行

JAVA
64
字号
package com.sunking.tp.undoredo;

import javax.swing.undo.AbstractUndoableEdit;
import com.sunking.tp.framework.*;
import com.sunking.tp.util.*;
import javax.swing.undo.*;
//import java.awt.*;
//import java.util.*;

/**
 * <p>Title: ChangeTextUndoableEdit</p>
 * <p>Description: </p>
 * <p>Copyright: Copyright (c) 2003</p>
 * <p>Company: </p>
 * @author <a href="mailto:sunkingxie@hotmail.com">SunKing</a>
 * @version 1.0
 */
public class ChangeTextUndoableEdit extends AbstractUndoableEdit {
    JTPComponent com[];
    Desktop desk;
    String oldText[];
    public ChangeTextUndoableEdit(Desktop desk, JTPComponent com[]) {
        this.com = com;
        this.desk = desk;
        oldText = getOldText();
    }

    String[] getOldText() {
        String text[] = new String[com.length];
        for (int i = 0; i < com.length; i++) {
            text[i] = com[i].getText();
        }
        return text;
    }

    public String getUndoPresentationName() {
        return JTPUtil.getString("Undo_ChangeText");
    }

    public String getRedoPresentationName() {
        return JTPUtil.getString("Redo_ChangeText");
    }

    public void undo() throws CannotUndoException {
        super.undo();
        String newText[] = getOldText();
        for (int i = 0; i < com.length; i++) {
            com[i].setText(oldText[i]);
        }
        oldText = newText;
        desk.fireAssoicatorChanged();
    }

    public void redo() throws CannotRedoException {
        super.redo();
        String newText[] = getOldText();
        for (int i = 0; i < com.length; i++) {
            com[i].setText(oldText[i]);
        }
        oldText = newText;
        desk.fireAssoicatorChanged();
    }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?