changeimageundoableedit.java

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

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

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

/**
 * <p>Title: ChangeImageUndoableEdit</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 ChangeImageUndoableEdit extends AbstractUndoableEdit {
    JTPComponent com[];
    Desktop desk;
    Icon oldIcon[];
    public ChangeImageUndoableEdit(Desktop desk, JTPComponent com[]) {
        this.com = com;
        this.desk = desk;
        oldIcon = getOldIcon();
    }

    Icon[] getOldIcon() {
        Icon text[] = new Icon[com.length];
        for (int i = 0; i < com.length; i++) {
            text[i] = ((JTPImage)com[i]).getIcon();
        }
        return text;
    }

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

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

    public void undo() throws CannotUndoException {
        super.undo();
        Icon newIcon[] = getOldIcon();
        for (int i = 0; i < com.length; i++) {
            ((JTPImage)com[i]).setIcon(oldIcon[i]);
        }
        oldIcon = newIcon;
        desk.fireAssoicatorChanged();
    }

    public void redo() throws CannotRedoException {
        super.redo();
        Icon newIcon[] = getOldIcon();
        for (int i = 0; i < com.length; i++) {
            ((JTPImage)com[i]).setIcon(oldIcon[i]);
        }
        oldIcon = newIcon;
        desk.fireAssoicatorChanged();
    }
}

⌨️ 快捷键说明

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