⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 insertelementintoedit.java

📁 java xml 应用开发
💻 JAVA
字号:
import javax.swing.tree.TreePath;
import javax.swing.undo.AbstractUndoableEdit;
import javax.swing.undo.CannotRedoException;
import javax.swing.undo.CannotUndoException;

import org.cip4.jdflib.core.JDFElement;

/*
 * InsertElementIntoEdit.java
 * @author Elena Skobchenko
 */

public class InsertElementIntoEdit extends AbstractUndoableEdit 
{
    private static final long serialVersionUID = -2778264565816334345L;
    
    private TreePath path;
    private JDFTreeNode newNode;
    private JDFElement newElement;
    private JDFTreeNode intoNode;
    private JDFElement intoElement;
    private JDFFrame parFrame;
    private TreePath newNodePath = null; 
    private boolean success = true;
    
    public InsertElementIntoEdit(final JDFFrame parent, final TreePath treePath,
    							 final JDFTreeNode intoNode, final JDFElement intoElement, 
    							 final JDFTreeNode newNode) 
    {
        parFrame = parent;
        path = treePath;
        this.intoNode = intoNode;
        this.intoElement = intoElement;
        this.newNode = newNode;

        newElement = (JDFElement) ((Wrapper)newNode.getUserObject()).getElement();
        newNodePath = new TreePath(newNode.getPath());

        parFrame.updateViews(newNodePath);
    }

    public void undo() throws CannotUndoException 
    {
        success = parFrame.deleteItem(newNodePath);
        newNodePath = null;
        
        parFrame.updateViews(path);
    }

    public void redo() throws CannotRedoException 
    {
        parFrame.insertInto(intoNode, newNode, -1);
        intoElement.appendChild(newElement);
        newNodePath = new TreePath(newNode.getPath());
        parFrame.updateViews(newNodePath);
    }

    public boolean canUndo() 
    {
        return success;
    }

    public boolean canRedo() 
    {
        return  success;
    }
    
    public String getPresentationName() 
    {
        return "InsertElementInto";
    }

}

⌨️ 快捷键说明

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