软件包  java.awt.datatransfer

Class SystemFlavorMap

  • 实现的所有接口
    FlavorMapFlavorTable

    public final class SystemFlavorMapextends Objectimplements FlavorMap, FlavorTable
    SystemFlavorMap是“natives”(字符串)之间的可配置映射,它对应于特定于平台的数据格式,以及“flavors”(DataFlavors),它们对应于与平台无关的MIME类型。 数据传输子系统使用此映射在Java和本机应用程序之间以及不同VM中的Java应用程序之间传输数据。
    从以下版本开始:
    1.2
    • 方法详细信息

      • getDefaultFlavorMap

        public static FlavorMap getDefaultFlavorMap()
        返回此线程的ClassLoader的默认FlavorMap。
        结果
        此线程的ClassLoader的默认FlavorMap
      • getNativesForFlavor

        public List<String> getNativesForFlavor​(DataFlavor flav)
        返回ListString本机,数据传输子系统可以将指定的DataFlavor转换为该本机。 List将从最佳原生分类到最差分类。 也就是说,第一个本机将最好地将指定风格的数据反映到底层本机平台。

        如果指定的DataFlavor以前未知数据传输子系统且数据传输子系统无法将此DataFlavor为任何现有本机,则调用此方法将在指定的DataFlavor与其MIME的编码版本之间建立双向映射键入为其本机。

        Specified by:
        getNativesForFlavor ,界面 FlavorTable
        参数
        flav - 应返回其对应的本机的DataFlavor 如果指定了nullnull非确定性顺序返回数据传输子系统当前已知的所有本机。
        结果
        java.util.List of java.lang.String对象是平台特定数据格式的特定于平台的表示
        从以下版本开始:
        1.4
        另请参见:
        encodeDataFlavor(java.awt.datatransfer.DataFlavor)
      • getFlavorsForNative

        public List<DataFlavor> getFlavorsForNative​(String nat)
        返回ListDataFlavor ,数据传输子系统可以将指定的String本机转换为String List将从最好的DataFlavor到最差。 也就是说,第一个DataFlavor将最好地反映Java应用程序的指定本机中的数据。

        如果数据传输子系统以前未知指定的本机,并且该本机已正确编码,则调用此方法将在指定的本机和DataFlavor之间的两个方向上建立映射,其MIME类型是本机的解码版本。

        如果指定本机是不是正确编码的本地和本本地映射没有被篡改与setFlavorsForNative ,那么内容List与平台相关,但null不能退货。

        Specified by:
        getFlavorsForNative在界面 FlavorTable
        参数
        nat - 应返回其对应的DataFlavor的本机。 如果null指定,所有DataFlavor目前已知的数据传输子系统S IN非确定性顺序返回。
        结果
        java.util.List of DataFlavor对象,指定的特定于平台的本机中的特定于平台的数据可以转换为
        从以下版本开始:
        1.4
        另请参见:
        encodeJavaMIMEType(java.lang.String)
      • getNativesForFlavors

        public Map<DataFlavor,​String> getNativesForFlavors​(DataFlavor[] flavors)
        返回Map指定的DataFlavor s到其大多数首选String本地人。 对于指定的flavor,每个本机值将与getNativesForFlavor返回的List中的第一个本机值相同。

        如果数据传输子系统以前未知指定的DataFlavor ,则调用此方法将在指定的DataFlavor和其MIME类型的编码版本之间建立两个方向的映射作为其本机。

        Specified by:
        getNativesForFlavors在界面 FlavorMap
        参数
        flavors -的阵列DataFlavor S的将是所返回的密钥集Map 如果null被指定时,所有的映射DataFlavor已知的数据传输子系统到其最优选的小号String当地人将被返回。
        结果
        java.util.Map of DataFlavor s to String natives
        另请参见:
        getNativesForFlavor(java.awt.datatransfer.DataFlavor)encodeDataFlavor(java.awt.datatransfer.DataFlavor)
      • getFlavorsForNatives

        public Map<String,​DataFlavor> getFlavorsForNatives​(String[] natives)
        返回Map指定的String native到其最优选DataFlavor 每个DataFlavor值将与指定原生的getFlavorsForNative返回的列表中的第一个DataFlavor相同。

        如果数据传输子系统以前未知指定的本机,并且该本机已正确编码,则调用此方法将在指定的本机和DataFlavor之间的两个方向上建立映射,其MIME类型是本机的解码版本。

        Specified by:
        getFlavorsForNatives在界面 FlavorMap
        参数
        natives -的阵列String S的将是所返回的密钥集Map 如果null指定,所有的映射支持String当地人到其大多数首选DataFlavor旨意被退回。
        结果
        java.util.Map of StringDataFlavor s
        另请参见:
        getFlavorsForNative(java.lang.String)encodeJavaMIMEType(java.lang.String)
      • addUnencodedNativeForFlavor

        public void addUnencodedNativeForFlavor​(DataFlavor flav,                                        String nat)
        将指定的DataFlavor (以及所有DataFlavor s等于指定的DataFlavor )的映射添加到指定的String本机。 getNativesForFlavor不同,映射仅在一个方向上建立,而本机不会被编码。 要建立双向映射,请同时调用addFlavorForUnencodedNative 新映射的优先级低于任何现有映射。 如果已存在从指定或相等的DataFlavor到指定的String本机的映射,则此方法无效。
        参数
        flav - 映射的 DataFlavor密钥
        nat - 映射的 String本机值
        异常
        NullPointerException - 如果 NullPointerException或nat是 null
        从以下版本开始:
        1.4
        另请参见:
        addFlavorForUnencodedNative(java.lang.String, java.awt.datatransfer.DataFlavor)
      • setNativesForFlavor

        public void setNativesForFlavor​(DataFlavor flav,                                String[] natives)
        丢弃当前映射指定DataFlavor和所有DataFlavor能胜任指定DataFlavor ,并创建新的映射到指定String当地人。 getNativesForFlavor不同,映射仅在一个方向上建立,并且本机不会被编码。 要建立双向映射,请同时致电setFlavorsForNative 数组中的第一个本机将表示最高优先级映射。 后续本机将表示优先级降低的映射。

        如果数组包含几个引用相同的String本机的元素,则此方法将为这些元素中的第一个建立新的映射,并忽略其余元素。

        建议客户端代码不要重置由数据传输子系统建立的映射。 此方法仅应用于应用程序级映射。

        参数
        flav - 映射的 DataFlavor
        natives - 映射的 String本机值
        异常
        NullPointerException - 如果 NullPointerException或natives是 null或者natives是否包含 null元素
        从以下版本开始:
        1.4
        另请参见:
        setFlavorsForNative(java.lang.String, java.awt.datatransfer.DataFlavor[])
      • addFlavorForUnencodedNative

        public void addFlavorForUnencodedNative​(String nat,                                        DataFlavor flav)
        添加从单个String本机到单个DataFlavor getFlavorsForNative不同,映射仅在一个方向上建立,而本机不会被编码。 要建立双向映射,请同时致电addUnencodedNativeForFlavor 新映射的优先级低于任何现有映射。 如果已存在从指定的String本机到指定或相等的DataFlavor的映射,则此方法无效。
        参数
        nat - 映射的 String本机密钥
        flav - 映射的值 DataFlavor
        异常
        NullPointerException - 如果 natflavnull
        从以下版本开始:
        1.4
        另请参见:
        addUnencodedNativeForFlavor(java.awt.datatransfer.DataFlavor, java.lang.String)
      • setFlavorsForNative

        public void setFlavorsForNative​(String nat,                                DataFlavor[] flavors)
        放弃指定的当前映射String本土,并创建新的映射到指定DataFlavor秒。 getFlavorsForNative不同,映射只能在一个方向上建立,而本机不需要编码。 要建立双向映射,请致电setNativesForFlavor 阵列中的第一个DataFlavor将代表最高优先级的映射。 随后的DataFlavor将代表优先级递减的映射。

        如果数组包含几个引用相同的DataFlavor的元素,则此方法将为第一个元素建立新的映射,并忽略其余元素。

        建议客户端代码不要重置由数据传输子系统建立的映射。 此方法仅应用于应用程序级映射。

        参数
        nat - 映射的 String本机密钥
        flavors - 映射的 DataFlavor
        异常
        NullPointerException - 如果 natflavorsnull或者如果 flavors其中包含 null
        从以下版本开始:
        1.4
        另请参见:
        setNativesForFlavor(java.awt.datatransfer.DataFlavor, java.lang.String[])
      • encodeJavaMIMEType

        public static String encodeJavaMIMEType​(String mimeType)
        编码MIME类型以用作String本机。 MIME类型的编码表示的格式取决于实现。 唯一的限制是:
        • 编码表示是null当且仅当MIME类型Stringnull
        • 当且仅当根据String.equals(Object)这些String s相等时,两个非null MIME类型String的编码表示相等
        此方法的参考实现返回指定MIME类型String前缀JAVA_DATAFLAVOR:
        参数
        mimeType - 要编码的MIME类型
        结果
        编码 Stringnull如果 mimeTypenull
      • encodeDataFlavor

        public static String encodeDataFlavor​(DataFlavor flav)
        编码DataFlavor以用作String本机。 编码DataFlavor的格式取决于实现。 唯一的限制是:
        • 编码表示是null ,当且仅当指定DataFlavornull或其MIME类型Stringnull
        • 当且仅当这些DataFlavor的MIME类型String s根据String.equals(Object)相等时,两个非null DataFlavor与非null MIME类型String的编码表示相等
        此方法的参考实现返回MIME类型String指定的DataFlavor前缀JAVA_DATAFLAVOR:
        参数
        flav - 要编码的 DataFlavor
        结果
        编码 Stringnull如果 flavnull或者有一个 null MIME类型
      • isJavaMIMEType

        public static boolean isJavaMIMEType​(String str)
        返回指定的 String是否为编码的Java MIME类型。
        参数
        str - 要测试的 String
        结果
        true如果String已编码; 否则为false
      • decodeJavaMIMEType

        public static String decodeJavaMIMEType​(String nat)
        解码 String本机以用作Java MIME类型。
        参数
        nat - 要解码的 String
        结果
        解码后的Java的MIME类型,或 null如果 nat未编码 String天然
      • decodeDataFlavor

        public static DataFlavor decodeDataFlavor​(String nat)                                   throws ClassNotFoundException
        解码 String本机用作 DataFlavor
        参数
        nat - 要解码的 String
        结果
        解码的 DataFlavor ,或 null如果 nat不是编码的 String本机
        异常
        ClassNotFoundException - 如果未加载数据flavor的类