java.lang.Object
java.awt.datatransfer.SystemFlavorMap
- 所有已实现的接口:
FlavorMap,FlavorTable
SystemFlavorMap 是对应于平台特定数据格式的“本地”(Strings) 和对应于平台无关的 MIME 类型的“风味”(DataFlavors) 之间的可配置映射。数据传输子系统使用此map在 Java 和本机应用程序之间以及在单独的 VM 中的 Java 应用程序之间传输数据。
- 自从:
- 1.2
-
方法总结
修饰符和类型方法描述voidaddFlavorForUnencodedNative(String nat, DataFlavor flav) 添加从单个Stringnative 到单个DataFlavor的映射。voidaddUnencodedNativeForFlavor(DataFlavor flav, String nat) 添加从指定的DataFlavor(以及所有等于指定的DataFlavor的DataFlavor)到指定的Stringnative 的映射。static DataFlavordecodeDataFlavor(String nat) 解码Stringnative 用作DataFlavor。static StringdecodeJavaMIMEType(String nat) 解码Stringnative 以用作 Java MIME 类型。static StringencodeDataFlavor(DataFlavor flav) 编码DataFlavor用作String本机。static StringencodeJavaMIMEType(String mimeType) 编码 MIME 类型以用作String本机。static FlavorMap返回此线程的 ClassLoader 的默认 FlavorMap。返回DataFlavor的List,数据传输子系统可以将指定的Stringnative 转换为该List。getFlavorsForNatives(String[] natives) 将指定的String本地人的Map返回到他们最喜欢的DataFlavor。返回ListofStringnatives,数据传输子系统可以将指定的DataFlavor翻译成这些 natives。getNativesForFlavors(DataFlavor[] flavors) 将指定的DataFlavor的Map返回到它们最喜欢的String本机。static booleanisJavaMIMEType(String str) 返回指定的String是否是编码的 Java MIME 类型。voidsetFlavorsForNative(String nat, DataFlavor[] flavors) 丢弃指定Stringnative 的当前映射,并创建到指定DataFlavors 的新映射。voidsetNativesForFlavor(DataFlavor flav, String[] natives) 丢弃指定DataFlavor和所有DataFlavor等于指定DataFlavor的当前映射,并创建到指定Stringnatives 的新映射。
-
方法详情
-
getDefaultFlavorMap
返回此线程的 ClassLoader 的默认 FlavorMap。- 返回:
- 此线程的 ClassLoader 的默认 FlavorMap
-
getNativesForFlavor
返回ListofStringnatives,数据传输子系统可以将指定的DataFlavor翻译成这些 natives。List将从最佳原生到最差排序。也就是说,第一个本机将最好地将指定风格的数据反映到底层本机平台。如果指定的
DataFlavor以前对于数据传输子系统是未知的,并且数据传输子系统无法将此DataFlavor转换为任何现有的本机,则调用此方法将在指定的DataFlavor和其 MIME 的编码版本之间建立双向映射键入其本机。- 指定者:
getNativesForFlavor在接口FlavorTable中- 参数:
flav-DataFlavor应返回其对应的本地人。如果指定了null,则数据传输子系统当前已知的所有本机都以不确定的顺序返回。- 返回:
java.lang.String对象中的java.util.List对象,它们是特定于平台的数据格式的特定于平台的表示- 自从:
- 1.4
- 参见:
-
getFlavorsForNative
返回DataFlavor的List,数据传输子系统可以将指定的Stringnative 转换为该List。List将从最佳DataFlavor到最差进行排序。也就是说,第一个DataFlavor将最好地将指定本机中的数据反映到 Java 应用程序。如果数据传输子系统以前不知道指定的本机,并且该本机已正确编码,则调用此方法将在指定的本机和
DataFlavor之间建立双向映射,其 MIME 类型是本机的解码版本。如果指定的本机不是正确编码的本机,并且此本机的映射未使用
setFlavorsForNative更改,则List的内容依赖于平台,但不能返回null。- 指定者:
getFlavorsForNative在接口FlavorTable中- 参数:
nat- 应返回其对应的DataFlavor的本机。如果指定了null,则数据传输子系统当前已知的所有DataFlavor将以不确定的顺序返回。- 返回:
DataFlavor对象中的java.util.List对象,可以将指定平台特定本机中的平台特定数据转换为该对象- 自从:
- 1.4
- 参见:
-
getNativesForFlavors
将指定的DataFlavor的Map返回到它们最喜欢的String本机。每个原生值都将与getNativesForFlavor为指定风味返回的列表中的第一个原生值相同。如果数据传输子系统以前不知道指定的
DataFlavor,则调用此方法将在指定的DataFlavor和其 MIME 类型的编码版本之间建立双向映射作为其本机。- 指定者:
getNativesForFlavors在接口FlavorMap中- 参数:
flavors-DataFlavor的数组,它将是返回的Map的键集。如果指定了null,将返回数据传输子系统已知的所有DataFlavor到它们最喜欢的String本机的映射。- 返回:
java.util.MapofDataFlavor到String当地人- 参见:
-
getFlavorsForNatives
将指定的String本地人的Map返回到他们最喜欢的DataFlavor。每个DataFlavor值将与getFlavorsForNative为指定本地返回的列表中的第一个DataFlavor相同。如果数据传输子系统以前不知道指定的本机,并且该本机已正确编码,则调用此方法将在指定的本机和
DataFlavor之间建立双向映射,其 MIME 类型是本机的解码版本。- 指定者:
getFlavorsForNatives在接口FlavorMap中- 参数:
natives-String的数组,它将是返回的Map的键集。如果指定了null,将返回所有支持的Stringnatives 到它们最喜欢的DataFlavor的映射。- 返回:
java.util.Map的String原住民到DataFlavors- 参见:
-
addUnencodedNativeForFlavor
添加从指定的DataFlavor(以及所有等于指定的DataFlavor的DataFlavor)到指定的Stringnative 的映射。与getNativesForFlavor不同,映射只会在一个方向上建立,native 不会被编码。要建立双向映射,也请调用addFlavorForUnencodedNative。新映射的优先级低于任何现有映射。如果从指定的或等于DataFlavor到指定的Stringnative 的映射已经存在,则此方法无效。- 参数:
flav- 映射的DataFlavor键nat- 映射的String本机值- 抛出:
NullPointerException- 如果 flav 或 nat 是null- 自从:
- 1.4
- 参见:
-
setNativesForFlavor
丢弃指定DataFlavor和所有DataFlavor等于指定DataFlavor的当前映射,并创建到指定Stringnatives 的新映射。与getNativesForFlavor不同,映射只会在一个方向上建立,并且不会对 natives 进行编码。要建立双向映射,也请调用setFlavorsForNative。数组中的第一个本机将代表最高优先级的映射。随后的本地人将表示优先级递减的映射。如果数组包含多个引用相等
Stringnatives 的元素,则此方法将为这些元素中的第一个建立新映射并忽略其余元素。建议客户端代码不要重置数据传输子系统建立的映射。此方法应仅用于应用程序级映射。
- 参数:
flav- 映射的DataFlavor键natives- 映射的String本机值- 抛出:
NullPointerException- 如果 flav 或 natives 是null或者如果 natives 包含null元素- 自从:
- 1.4
- 参见:
-
addFlavorForUnencodedNative
添加从单个Stringnative 到单个DataFlavor的映射。与getFlavorsForNative不同,映射只会在一个方向上建立,native 不会被编码。要建立双向映射,也请调用addUnencodedNativeForFlavor。新映射的优先级低于任何现有映射。如果从指定的Stringnative 到指定的或等于DataFlavor的映射已经存在,则此方法无效。- 参数:
nat- 映射的String本机密钥flav- 映射的DataFlavor值- 抛出:
NullPointerException- 如果nat或flav是null- 自从:
- 1.4
- 参见:
-
setFlavorsForNative
丢弃指定Stringnative 的当前映射,并创建到指定DataFlavors 的新映射。与getFlavorsForNative不同,映射只会在一个方向上建立,本地人不需要编码。要建立双向映射,也请调用setNativesForFlavor。数组中的第一个DataFlavor将代表最高优先级的映射。随后的DataFlavors 将表示优先级递减的映射。如果数组包含多个引用等于
DataFlavor的元素,则此方法将为这些元素中的第一个建立新映射并忽略其余元素。建议客户端代码不要重置数据传输子系统建立的映射。此方法应仅用于应用程序级映射。
- 参数:
nat- 映射的String本机密钥flavors- 映射的DataFlavor值- 抛出:
NullPointerException- 如果nat或flavors是null或者如果flavors包含null元素- 自从:
- 1.4
- 参见:
-
encodeJavaMIMEType
编码 MIME 类型以用作String本机。 MIME 类型的编码表示格式是依赖于实现的。唯一的限制是:- 当且仅当 MIME 类型
String为null时,编码表示为null - 当且仅当这些
String根据String.equals(Object)相等时,两个非nullMIME 类型String的编码表示才相等
JAVA_DATAFLAVOR:为前缀的指定 MIME 类型String。- 参数:
mimeType- 要编码的 MIME 类型- 返回:
-
编码的
String或null如果mimeType是null
- 当且仅当 MIME 类型
-
encodeDataFlavor
编码DataFlavor用作String本机。编码的DataFlavor的格式是依赖于实现的。唯一的限制是:- 当且仅当指定的
DataFlavor为null或其 MIME 类型String为null时,编码表示为null - 当且仅当这些
DataFlavor的 MIME 类型String与String.equals(Object)相同时,两个非nullDataFlavor与非nullMIME 类型String的编码表示相等
JAVA_DATAFLAVOR:的指定DataFlavor的 MIME 类型String。- 参数:
flav- 要编码的DataFlavor- 返回:
-
编码的
String或null如果flav是null或具有nullMIME 类型
- 当且仅当指定的
-
isJavaMIMEType
返回指定的String是否是编码的 Java MIME 类型。- 参数:
str- 要测试的String- 返回:
true如果String已编码;false否则
-
decodeJavaMIMEType
解码Stringnative 以用作 Java MIME 类型。- 参数:
nat- 要解码的String- 返回:
-
解码的 Java MIME 类型,或
null如果nat不是编码的Stringnative
-
decodeDataFlavor
解码Stringnative 用作DataFlavor。- 参数:
nat- 要解码的String- 返回:
-
解码的
DataFlavor或null如果nat不是编码的Stringnative - 抛出:
ClassNotFoundException- 如果未加载数据类型的类
-