自己的可转让不从外部应用程序返回DataFlavor

时间:2013-07-15 16:05:31

标签: java clipboard copy-paste

我有两个应用程序:

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:抱歉我的英语不好。

1 个答案:

答案 0 :(得分:0)

谢谢大家,在查看相关部分后,我找到了答案here。这真的没有在搜索领域显示,奇怪,因为这是第二次类似的情况......