我有两个应用程序:
1。我自己的Image Explorer
。我希望通过像copy-paste
这样的选项来处理图像。我为此创建了自己的DataFlavor类型。 (是的,我真的需要它!)它看起来像
DataFlavor supportedFlavor = new DataFlavor(app.my.ImageWrapper.class, "ImageWrapper class");
在我的Transferable
我使用此DataFlavor
:
@Override
public boolean isDataFlavorSupported(DataFlavor flavor) {
return supportedFlavor.equals(flavor);
}
@Override
public DataFlavor[] getTransferDataFlavors() {
return new DataFlavor[]{supportedFlavor}; // Simpled for SSCCE, I don't create new flavor each time really
}
2。来自this的FlavorListener回答。它应该监听FlavorEvents
以检测复制的数据类型。
我的问题是:
当我在复制文本,文件,图像后从其他应用程序获取事件时,DataFlavor
永远不会为空。但是如果我在复制my对象后得到事件,它就无法检测到任何DataFlavor。为什么?
PS:抱歉我的英语不好。