gpt4 book ai didi

java - 构造用于拖放 java 对象数组的 DataFlavor

转载 作者:行者123 更新时间:2023-11-30 05:17:12 25 4
gpt4 key购买 nike

我想在同一 JVM 中的两个组件之间实现拖放。我正在传递一个不可序列化的对象数组,因此我试图找到要传入的 javaJVMLocalObjectMimeType 的正确咒语。但是,我不断收到非法参数异常。

举个例子,如果我有ExampleClass

附加类参数有效:

    new DataFlavor(DataFlavor.javaJVMLocalObjectMimeType+";class="+ExampleClass.class.getName());

但是数组类型失败:

    new DataFlavor(DataFlavor.javaJVMLocalObjectMimeType+";class="+ExampleClass[].class.getName());

抛出:

java.lang.IllegalArgumentException: failed to parse:application/x-java-jvm-local-objectref;class=[LExampleClass

啊啊! swing 中的拖放真是一团糟!

最佳答案

试试这个:

new DataFlavor(DataFlavor.javaJVMLocalObjectMimeType +
";class=\""+ExampleClass.class.getName() + "\"");

由于数组的名称(例如“[Ljava.lang.Object;”)有特殊字符,因此必须引用“class”参数。

关于java - 构造用于拖放 java 对象数组的 DataFlavor,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/578786/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com