我有两个应用程序:
1.我自己的图像浏览器
。我想通过诸如复制粘贴之类的选项来操作图像。我为此创建了自己的 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/