我有两个应用程序:

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/

10-09 01:07