Java 我可以获取从Swing到explorer的文件路径吗

Java 我可以获取从Swing到explorer的文件路径吗,java,swing,file,Java,Swing,File,我读 我可以获取从Swing到explorer的文件路径吗。 不是explorer->Swing Swing->explorer 我想通过explorer获得pathJava的DnD支持允许您将东西从Java应用程序拖到本机应用程序中,但我认为它仅限于文本,并且只有接受文本的所有目标组件,如浏览器中的地址栏 如果资源管理器地址栏不接受拖放文本,您可以始终向应用程序添加一个菜单选项,以“在资源管理器中打开”,该选项仅启动一个新的资源管理器进程,并将文件路径作为参数。将其用作您的可转移项,您应该是

我读

我可以获取从Swing到explorer的文件路径吗。 不是explorer->Swing

Swing->explorer
我想通过explorer获得pathJava的DnD支持允许您将东西从Java应用程序拖到本机应用程序中,但我认为它仅限于文本,并且只有接受文本的所有目标组件,如浏览器中的地址栏


如果资源管理器地址栏不接受拖放文本,您可以始终向应用程序添加一个菜单选项,以“在资源管理器中打开”,该选项仅启动一个新的资源管理器进程,并将文件路径作为参数。

将其用作您的可转移项,您应该是金色的

public class FileList extends Vector<File> implements Transferable {
        final static int FILE = 0;
        DataFlavor flavors[] = {DataFlavor.javaFileListFlavor};
        public FileList(File file) {addElement(file);}
        public synchronized DataFlavor[] getTransferDataFlavors() {return flavors;}
        public boolean isDataFlavorSupported(DataFlavor flavor) {
            return flavor.equals(flavors[FILE]);
        }
        public synchronized Object getTransferData(DataFlavor flavor) throws UnsupportedFlavorException, IOException {
            if (flavor.equals(flavors[FILE])) return this;
            else throw new UnsupportedFlavorException(flavor);
        }
    }
公共类文件列表扩展了{
最终静态int文件=0;
DataFlavor flavors[]={DataFlavor.javaFileListFlavor};
公共文件列表(文件){addElement(文件);}
公共同步DataFlavor[]getTransferDataFlavors(){return flavors;}
支持公共布尔值IsDataFlavor(DataFlavor){
返回flavor.equals(flavors[FILE]);
}
公共同步对象getTransferData(DataFlavor flavor)引发不受支持的LavorException、IOException{
如果(flavor.equals(flavors[FILE])返回此值;
否则抛出新的不受支持的LavorException(味道);
}
}

谢谢。我可以掌握文件的副本来源,但是否不可能掌握文件的副本?我想也许我误解了你的问题。您是否试图将文件对象从Java应用程序拖放到资源管理器窗口并将其复制到该位置?或者您正在尝试将文件的路径从Java复制到资源管理器窗口?如果是前者,这是不可能的。为什么不呢?