📄 icomponenttransferable.java
字号:
/*
* This file is part of Caliph & Emir.
*
* Caliph & Emir is free software; you can redistribute it 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.
*
* Caliph & Emir 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 Caliph & Emir; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
* Copyright statement:
* --------------------
* (c) 2005 by Werner Klieber (werner@klieber.info)
* http://caliph-emir.sourceforge.net
*/
package at.wklieber.gui;
import org.apache.log4j.Category;
import org.apache.log4j.Logger;
import java.awt.datatransfer.*;
import java.io.IOException;
class IComponentTransferable
implements Transferable, ClipboardOwner {
static Category cat = Logger.getLogger(IComponentTransferable.class.getName());
public static DataFlavor iComponentFlavor = null;
public static DataFlavor localIComponentFlavor = null; // no longer used
public static DataFlavor imageFlavor = null;
IComponent iComponent = null;
public IComponentTransferable(IComponent iComponent1) {
// make a copy of the currend object
iComponent = (IComponent) iComponent1.clone();
}
public DataFlavor[] getTransferDataFlavors() {
DataFlavor[] returnValue = new DataFlavor[1];
returnValue[0] = localIComponentFlavor;
//returnValue[0] = imageFlavor;
return returnValue;
}
public void lostOwnership(Clipboard clipboard, Transferable transferable) {
}
public boolean isDataFlavorSupported(DataFlavor flavor) {
if (flavor == null || localIComponentFlavor == null) {
return false;
}
return (flavor.equals(localIComponentFlavor));
/*
if (flavor == null || imageFlavor == null) {
return false;
}
return (flavor.equals(imageFlavor));
*/
}
public Object getTransferData(DataFlavor flavor) throws UnsupportedFlavorException, IOException {
if (iComponent == null) {
cat.error("!!! IComponent is null");
return null;
}
/*if (iComponent.getImageIcon() == null) {
cat.error("!!! imageIcon is null");
return null;
}
return iComponent.getImageIcon();*/
return iComponent;
//IImageComponent imageComponent = (IImageComponent) iComponent;
//return imageComponent.getImageIcon().getImage();
}
static {
try {
iComponentFlavor =
new DataFlavor(IComponent.class,
"IMB image Component flavor");
localIComponentFlavor = new DataFlavor(DataFlavor.javaJVMLocalObjectMimeType +
"; class=" + IComponent.class.getName(),
"Local IMB IComponent flavor", IComponent.class.getClassLoader());
//imageFlavor = new DataFlavor(DataFlavor.imageFlavor, "Local IMB IComponent flavor");
imageFlavor = new DataFlavor(Class.forName("java.awt.Image"), "Image");
} catch (Exception e) {
cat.error(e);
e.printStackTrace();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -