我有两个应用程序:
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.来自这个答案的FlavorListener 。它应该监听以FlavorEvents
检测复制了哪种数据类型。
我的问题是:
当我在复制文本、文件、图像后从其他应用程序获取事件时,DataFlavor
它永远不会为空。但是如果我在复制我的对象后收到事件,它就无法检测到任何 DataFlavor。为什么?
PS:对不起我的英语不好。