pastetool.java

来自「java绘图方面的源码,java日期选择控件源码」· Java 代码 · 共 48 行

JAVA
48
字号
package com.sunking.tp.tool;

import com.sunking.tp.framework.*;
import com.sunking.tp.util.*;
import java.awt.*;
import java.awt.datatransfer.*;

/**
 *
 * <p>Title: </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 PasteTool extends AbstractTool {
    public PasteTool(Desktop desk, javax.swing.Icon icon) {
        super(desk);
        setToolTip(JTPUtil.getString("PasteTool_TIP"));
        setIcon(icon);
    }

    /**
     *启用工具
     */
    public void enabledTool() {
        super.enabledTool();

        Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
        Transferable data = clipboard.getContents(this);
        JTPComponent sources[];
        try {
            sources = (JTPComponent[]) (data.getTransferData(
                JTPComponentSection.JTPButtonFlavor));
            UndoableEditFactory.getDefault().startEdit(
                UndoableEditFactory.PASTE, desk, sources);
            for (int i = 0; i < sources.length; i++) {
                ( (Container) desk).add( (Component) sources[i]);
            }
            desk.fireAssoicatorChanged(); //重新绘制
            UndoableEditFactory.getDefault().stopEdit(null);
        } catch (Exception ex) {
            UndoableEditFactory.getDefault().cancelEdit();
        }
        desk.setTool(null);
    }
}

⌨️ 快捷键说明

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