我有两个应用程序:
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
永远不会为空。但是,如果我在复制我的对象后收到事件,则它无法检测到任何DataFlavor。为什么?PS:对不起,我的英语不好。
最佳答案
谢谢大家,在查看相关部分后,我找到了答案here。奇怪的是,这确实没有显示在搜索字段中,因为这是第二次类似的情况...
关于java - 自己的可转移内容没有从外部应用程序返回DataFlavor,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17658704/