- java.lang.Object
-
- java.awt.datatransfer.SystemFlavorMap
-
- 实现的所有接口
-
FlavorMap
,FlavorTable
public final class SystemFlavorMap extends Object implements FlavorMap, FlavorTable
SystemFlavorMap是“natives”(字符串)之间的可配置映射,它对应于特定于平台的数据格式,以及“flavors”(DataFlavors),它们对应于与平台无关的MIME类型。 数据传输子系统使用此映射在Java和本机应用程序之间以及不同VM中的Java应用程序之间传输数据。- 从以下版本开始:
- 1.2
-
-
方法摘要
所有方法 静态方法 实例方法 具体的方法 变量和类型 方法 描述 void
addFlavorForUnencodedNative(String nat, DataFlavor flav)
添加从单个String
本机到单个DataFlavor
。void
addUnencodedNativeForFlavor(DataFlavor flav, String nat)
将指定的DataFlavor
(以及所有DataFlavor
等于指定的DataFlavor
)的映射添加到指定的String
本机。static DataFlavor
decodeDataFlavor(String nat)
解码String
本机用作DataFlavor
。static String
decodeJavaMIMEType(String nat)
解码String
本机以用作Java MIME类型。static String
encodeDataFlavor(DataFlavor flav)
编码DataFlavor
以用作String
本机。static String
encodeJavaMIMEType(String mimeType)
编码MIME类型以用作String
本机。static FlavorMap
getDefaultFlavorMap()
返回此线程的ClassLoader的默认FlavorMap。List<DataFlavor>
getFlavorsForNative(String nat)
返回List
的DataFlavor
,数据传输子系统可以将指定的String
本机转换为String
。Map<String,DataFlavor>
getFlavorsForNatives(String[] natives)
返回Map
指定的String
native到其最优选DataFlavor
。List<String>
getNativesForFlavor(DataFlavor flav)
返回List
的String
本机,数据传输子系统可以将指定的DataFlavor
转换DataFlavor
。Map<DataFlavor,String>
getNativesForFlavors(DataFlavor[] flavors)
将指定的DataFlavor
s的Map
返回到其最受欢迎的String
本机。static boolean
isJavaMIMEType(String str)
返回指定的String
是否为编码的Java MIME类型。void
setFlavorsForNative(String nat, DataFlavor[] flavors)
放弃指定的当前映射String
本土,并创建新的映射到指定DataFlavor
秒。void
setNativesForFlavor(DataFlavor flav, String[] natives)
丢弃当前映射指定DataFlavor
和所有DataFlavor
能胜任指定DataFlavor
,并创建新的映射到指定String
当地人。
-
-
-
方法详细信息
-
getDefaultFlavorMap
public static FlavorMap getDefaultFlavorMap()
返回此线程的ClassLoader的默认FlavorMap。- 结果
- 此线程的ClassLoader的默认FlavorMap
-
getNativesForFlavor
public List<String> getNativesForFlavor(DataFlavor flav)
返回List
的String
本机,数据传输子系统可以将指定的DataFlavor
转换为该本机。List
将从最佳原生分类到最差分类。 也就是说,第一个本机将最好地将指定风格的数据反映到底层本机平台。如果指定的
DataFlavor
以前未知数据传输子系统且数据传输子系统无法将此DataFlavor
为任何现有本机,则调用此方法将在指定的DataFlavor
与其MIME的编码版本之间建立双向映射键入为其本机。- Specified by:
-
getNativesForFlavor
,界面FlavorTable
- 参数
-
flav
- 应返回其对应的本机的DataFlavor
。 如果指定了null
,null
非确定性顺序返回数据传输子系统当前已知的所有本机。 - 结果
-
java.util.List
ofjava.lang.String
对象是平台特定数据格式的特定于平台的表示 - 从以下版本开始:
- 1.4
- 另请参见:
-
encodeDataFlavor(java.awt.datatransfer.DataFlavor)
-
getFlavorsForNative
public List<DataFlavor> getFlavorsForNative(String nat)
返回List
的DataFlavor
,数据传输子系统可以将指定的String
本机转换为String
。List
将从最好的DataFlavor
到最差。 也就是说,第一个DataFlavor
将最好地反映Java应用程序的指定本机中的数据。如果数据传输子系统以前未知指定的本机,并且该本机已正确编码,则调用此方法将在指定的本机和
DataFlavor
之间的两个方向上建立映射,其MIME类型是本机的解码版本。如果指定本机是不是正确编码的本地和本本地映射没有被篡改与
setFlavorsForNative
,那么内容List
与平台相关,但null
不能退货。- Specified by:
-
getFlavorsForNative
在界面FlavorTable
- 参数
-
nat
- 应返回其对应的DataFlavor
的本机。 如果null
指定,所有DataFlavor
目前已知的数据传输子系统S IN非确定性顺序返回。 - 结果
-
java.util.List
ofDataFlavor
对象,指定的特定于平台的本机中的特定于平台的数据可以转换为 - 从以下版本开始:
- 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
ofDataFlavor
s toString
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
ofString
于DataFlavor
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
- 如果nat
或flav
是null
- 从以下版本开始:
- 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
- 如果nat
或flavors
是null
或者如果flavors
其中包含null
- 从以下版本开始:
- 1.4
- 另请参见:
-
setNativesForFlavor(java.awt.datatransfer.DataFlavor, java.lang.String[])
-
encodeJavaMIMEType
public static String encodeJavaMIMEType(String mimeType)
编码MIME类型以用作String
本机。 MIME类型的编码表示的格式取决于实现。 唯一的限制是:- 编码表示是
null
当且仅当MIME类型String
是null
- 当且仅当根据
String.equals(Object)
这些String
s相等时,两个非null
MIME类型String
的编码表示相等
String
前缀JAVA_DATAFLAVOR:
。- 参数
-
mimeType
- 要编码的MIME类型 - 结果
-
编码
String
或null
如果mimeType
是null
- 编码表示是
-
encodeDataFlavor
public static String encodeDataFlavor(DataFlavor flav)
编码DataFlavor
以用作String
本机。 编码DataFlavor
的格式取决于实现。 唯一的限制是:- 编码表示是
null
,当且仅当指定DataFlavor
是null
或其MIME类型String
是null
- 当且仅当这些
DataFlavor
的MIME类型String
s根据String.equals(Object)
相等时,两个非null
DataFlavor
与非null
MIME类型String
的编码表示相等
String
指定的DataFlavor
前缀JAVA_DATAFLAVOR:
。- 参数
-
flav
- 要编码的DataFlavor
- 结果
-
编码
String
或null
如果flav
是null
或者有一个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的类
-
-