columntransferablehandler.java

来自「优秀的打印控件全源代码,类似水晶表的设计器!」· Java 代码 · 共 84 行

JAVA
84
字号
/* * ColumnTransferableHandler.java * *  iReport  --  Visual designer for generating JasperReports Documents *  Copyright (C) 2002-2003  Giulio Toffoli gt@businesslogic.it * *  This program is free software; you can redistribute  and/or modify *  it under the terms of the GNU General Public License as published by *  the Free Software Foundation; either version 2 of the License, or *  (at your option) any later version. * *  This program is distributed in the hope that it will be useful, *  but WITHOUT ANY WARRANTY; without even the implied warranty of *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the *  GNU General Public License for more details. * *  You should have received a copy of the GNU General Public License *  along with this program; if not, write to the Free Software *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * *  Giulio Toffoli *  Via T.Aspetti, 233 *  35100 Padova ITALY *  gt@businesslogic.it * * * Created on 21 maggio 2003, 18.43 */package it.businesslogic.ireport.gui.dnd;import java.awt.dnd.*;import javax.swing.*;import java.awt.datatransfer.*;import java.io.*;/** * * @author  Administrator */public abstract class ColumnTransferableHandler extends TransferHandler {        protected abstract String exportString(JComponent c);    protected abstract void importString(JComponent c, String str);    protected abstract void cleanup(JComponent c, boolean remove);        protected Transferable createTransferable(JComponent c) {        return new StringSelection(exportString(c));    }        public int getSourceActions(JComponent c) {        return COPY_OR_MOVE;    }        public boolean importData(JComponent c, Transferable t) {        if (canImport(c, t.getTransferDataFlavors())) {            try {                String str = (String)t.getTransferData(DataFlavor.stringFlavor);                importString(c, str);                return true;            } catch (UnsupportedFlavorException ufe) {            } catch (IOException ioe) {            }        }        return false;    }        protected void exportDone(JComponent c, Transferable data, int action) {        cleanup(c, action == MOVE);    }        public boolean canImport(JComponent c, DataFlavor[] flavors) {        for (int i = 0; i < flavors.length; i++) {            if (DataFlavor.stringFlavor.equals(flavors[i])) {                return true;            }        }        return false;    }    }

⌨️ 快捷键说明

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