| 
 | JavaTM Platform Standard Ed. 6 | |||||||||
| 上一个类 下一个类 | 框架 无框架 | |||||||||
| 摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 | |||||||||
java.lang.Objectjava.awt.datatransfer.SystemFlavorMap
public final class SystemFlavorMap
SystemFlavorMap 是 "native" (String)(对应于特定于平台的数据格式)和 "flavor" (DataFlavor)(对应于与平台无关的 MIME 类型)之间的可配置映射。数据传输子系统使用此映射在 Java 和本机应用程序之间传输数据,以及在独立的 VM 中的 Java 应用程序之间传输数据。
在 Sun 参考实现中,默认的 SystemFlavorMap 是通过文件 jre/lib/flavormap.properties 和 AWT 属性 AWT.DnD.flavorMapFileURL 所引用的 URL 的内容初始化的。有关详细信息,请参阅 flavormap.properties。
| 方法摘要 | |
|---|---|
|  void | addFlavorForUnencodedNative(String nat,
                            DataFlavor flav)添加从单个 Stringnative 到单个DataFlavor的映射。 | 
|  void | addUnencodedNativeForFlavor(DataFlavor flav,
                            String nat)添加从指定的 DataFlavor(和等于指定DataFlavor的所有DataFlavor)到指定Stringnative 的映射。 | 
| static DataFlavor | decodeDataFlavor(String nat)解码 Stringnative 以用作DataFlavor。 | 
| static String | decodeJavaMIMEType(String nat)解码 Stringnative 以用作 Java MIME 类型。 | 
| static String | encodeDataFlavor(DataFlavor flav)编码 DataFlavor以用作Stringnative。 | 
| static String | encodeJavaMIMEType(String mimeType)编码 MIME 类型以用作 Stringnative。 | 
| static FlavorMap | getDefaultFlavorMap()返回此线程的 ClassLoader 的默认 FlavorMap。 | 
|  List<DataFlavor> | getFlavorsForNative(String nat)返回数据传输子系统可以将指定 Stringnative 转换成的DataFlavor的List。 | 
|  Map<String,DataFlavor> | getFlavorsForNatives(String[] natives)返回指定 Stringnative 到其大多数首选DataFlavor的Map。 | 
|  List<String> | getNativesForFlavor(DataFlavor flav)返回数据传输子系统可以将指定 DataFlavor转换成的Stringnative 的List。 | 
|  Map<DataFlavor,String> | getNativesForFlavors(DataFlavor[] flavors)返回指定 DataFlavor到其大多数首选的Stringnative 的Map。 | 
| static boolean | isJavaMIMEType(String str)返回指定的 String是否为编码的 Java MIME 类型。 | 
|  void | setFlavorsForNative(String nat,
                    DataFlavor[] flavors)放弃指定 Stringnative 的当前映射,而创建指定DataFlavor的新映射。 | 
|  void | setNativesForFlavor(DataFlavor flav,
                    String[] natives)放弃指定 DataFlavor和等于指定DataFlavor的所有DataFlavor的当前映射,并创建到指定Stringnative 的新映射。 | 
| 从类 java.lang.Object 继承的方法 | 
|---|
| clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | 
| 方法详细信息 | 
|---|
public static FlavorMap getDefaultFlavorMap()
public List<String> getNativesForFlavor(DataFlavor flav)
DataFlavor 转换成的 String native 的 List。该 List 的排序方式是从最好的 native 到最差的 native。即第一个 native 最能将指定 flavor 的数据反映到底层的本机平台。
 
如果指定的 DataFlavor 以前对于数据传输子系统而言是未知的,并且数据传输子系统未能将此 DataFlavor 转换为任何现有的 native,则调用此方法将在指定的 DataFlavor 和其 MIME 类型的编码版本之间建立一个双向映射,作为其 native。
FlavorTable 中的 getNativesForFlavorflav - 应该返回其对应 native 的 DataFlavor。如果指定 null,则数据传输子系统当前已知的所有 native 都将以不确定的顺序返回。
java.lang.String 对象的 java.util.List,这些对象是特定于平台的数据格式的特定于平台的表示形式encodeDataFlavor(java.awt.datatransfer.DataFlavor)public List<DataFlavor> getFlavorsForNative(String nat)
String native 转换成的 DataFlavor 的 List。该 List 的排序方式是从最好的 DataFlavor 到最差的 DataFlavor。即第一个 DataFlavor 最能将指定 native 中的数据反映到 Java 应用程序。
 
如果指定的 native 以前对于数据传输子系统而言是未知的,并且该 native 编码正确,则调用此方法将在指定的 native 和 DataFlavor(其 MIME 类型为 native 的解码版本)之间建立一个双向映射。
 
如果指定的 native 不是正确编码的 native,并且此 native 的映射关系没有使用 setFlavorsForNative 进行修改,则 List 的内容是与平台有关的,但是并不能返回 null。
FlavorTable 中的 getFlavorsForNativenat - 应该返回其对应 DataFlavor 的 native。如果指定 null,则数据传输子系统当前已知的所有 DataFlavor 都将以不确定的顺序返回。
DataFlavor 对象的 java.util.List,可以将特定于平台的指定 native 中特定于平台的数据转换为这些对象。encodeJavaMIMEType(java.lang.String)public Map<DataFlavor,String> getNativesForFlavors(DataFlavor[] flavors)
DataFlavor 到其大多数首选的 String native 的 Map。每一个 native 值都将与指定 flavor 的 getNativesForFlavor 所返回 List 中的第一个 native 相同。
 
如果指定的 DataFlavor 以前对于数据传输子系统是未知的,那么调用此方法将在指定的 DataFlavor 和其 MIME 类型的编码版本之间建立一个双向映射,作为其 native。
FlavorMap 中的 getNativesForFlavorsflavors - 一组 DataFlavor,它们是返回 Map 的键集。如果指定了 null,则返回对数据传输子系统已知的所有 DataFlavor 到其大多数首选 String native 的映射。
DataFlavor 到 String native 的 java.util.MapgetNativesForFlavor(java.awt.datatransfer.DataFlavor), 
encodeDataFlavor(java.awt.datatransfer.DataFlavor)public Map<String,DataFlavor> getFlavorsForNatives(String[] natives)
String native 到其大多数首选 DataFlavor 的 Map。每一个 DataFlavor 值都将与指定 native 的 getFlavorsForNative 所返回 List 中的第一个 DataFlavor 相同。
 
如果指定的 native 以前对于数据传输子系统而言是未知的,并且该 native 编码正确,则调用此方法将在指定的 native 和 DataFlavor(其 MIME 类型为 native 的解码版本)之间建立一个双向映射。
FlavorMap 中的 getFlavorsForNativesnative - 一组 String,它们是返回 Map 的键集。如果指定了 null,则返回所有受支持 String native 到其大多数首选 DataFlavor 的映射。
String native 到 DataFlavor 的 java.util.MapgetFlavorsForNative(java.lang.String), 
encodeJavaMIMEType(java.lang.String)
public void addUnencodedNativeForFlavor(DataFlavor flav,
                                        String nat)
DataFlavor(和等于指定 DataFlavor 的所有 DataFlavor)到指定 String native 的映射。与 getNativesForFlavor 不同,该映射仅是单向建立的,并且不对 native 进行编码。要建立双向映射,请同时调用 addFlavorForUnencodedNative。新的映射优先级低于现有映射。如果从指定或相等 DataFlavor 到指定 String native 的映射已经存在,则此方法无效。
flav - 该映射的 DataFlavor 键nat - 该映射的 String native 值
NullPointerException - 如果 flav 或 nat 为 nulladdFlavorForUnencodedNative(java.lang.String, java.awt.datatransfer.DataFlavor)
public void setNativesForFlavor(DataFlavor flav,
                                String[] natives)
DataFlavor 和等于指定 DataFlavor 的所有 DataFlavor 的当前映射,并创建到指定 String native 的新映射。与 getNativesForFlavor 不同,这些映射仅是单向建立的,并且不对 native 进行编码。要建立双向映射,请同时调用 setFlavorsForNative。数组中的第一个 native 表示最高优先级的映射。后续 native 所表示的映射的优先级是递减的。
 
如果数组包含多个引用相等 String native 的元素,则此方法将为其中第一个元素建立新映射,而忽略其余的元素。
 
建议客户机代码不要重置数据传输子系统建立的映射。此方法仅用于应用程序级的映射。
flav - 该映射的 DataFlavor 键natives - 该映射的 String native 值
NullPointerException - 如果 flav 或 native 为 null 或者 native 包含 null 元素setFlavorsForNative(java.lang.String, java.awt.datatransfer.DataFlavor[])
public void addFlavorForUnencodedNative(String nat,
                                        DataFlavor flav)
String native 到单个 DataFlavor 的映射。与 getFlavorsForNative 不同,该映射仅是单向建立的,并且不对 native 进行编码。要建立双向映射,请同时调用 addUnencodedNativeForFlavor。新的映射优先级低于现有映射。如果从指定 String native 到指定或相等 DataFlavor 的映射已经存在,则此方法无效。
nat - 该映射的 String native 键flav - 该映射的 DataFlavor 值
NullPointerException - 如果 nat 或 flav 为 nulladdUnencodedNativeForFlavor(java.awt.datatransfer.DataFlavor, java.lang.String)
public void setFlavorsForNative(String nat,
                                DataFlavor[] flavors)
String native 的当前映射,而创建指定 DataFlavor 的新映射。与 getFlavorsForNative 不同,这些映射将仅是单向建立的,并且不需要对 native 进行编码。要建立双向映射,请同时调用 setNativesForFlavor。数组中的第一个 DataFlavor 表示最高优先级的映射。后续 DataFlavor 所表示的映射的优先级是递减的。
 
如果数组包含多个引用相等 DataFlavor 的元素,则为其中的第一个元素建立新映射,而忽略其余的元素。
 
建议客户机代码不要重置数据传输子系统建立的映射。此方法仅用于应用程序级的映射。
nat - 映射的 String native 键flavor - 映射的 DataFlavor 值
NullPointerException - 如果 nat 或 flavor 为 null 或者 flavor 包含 null 元素setNativesForFlavor(java.awt.datatransfer.DataFlavor, java.lang.String[])public static String encodeJavaMIMEType(String mimeType)
String native。MIME 类型的编码表示形式的格式是与实现有关的。仅有的限制是:
 String 为 null 时,编码表示形式为 null。null MIME 类型 String 的编码表示形式相等的条件是,当且仅当根据 String.equals(Object) 这些 String 相等。
Sun 对此方法的参考实现返回指定 MIME 类型 String,前缀为 JAVA_DATAFLAVOR:。
mimeType - 要编码的 MIME 类型
String,如果 mimeType 为 null,则返回 nullpublic static String encodeDataFlavor(DataFlavor flav)
DataFlavor 以用作 String native。编码的 DataFlavor 的格式是与实现有关的。仅有的限制是:
 DataFlavor 为 null 或者其 MIME 类型 String 为 null 时,编码表示形式为 null。null MIME 类型 String 的两个非 null DataFlavor 的编码表示形式相等的条件是,根据 String.equals(Object) 当且仅当这些 DataFlavor 的 MIME 类型 String 相等。
Sun 对此方法的参考实现返回前缀为 JAVA_DATAFLAVOR: 的指定 DataFlavor 的 MIME 类型 String。
flav - 要编码的 DataFlavor
String,如果 flav 为 null 或者具有 null MIME 类型,则返回 nullpublic static boolean isJavaMIMEType(String str)
String 是否为编码的 Java MIME 类型。
str - 要测试的 String
String 进行了编码,则返回 true;否则返回 falsepublic static String decodeJavaMIMEType(String nat)
String native 以用作 Java MIME 类型。
nat - 要解码的 String
String native,则返回 null
public static DataFlavor decodeDataFlavor(String nat)
                                   throws ClassNotFoundException
String native 以用作 DataFlavor。
nat - 要解码的 String
DataFlavor,如果 nat 不是编码的 String native,则返回 null
ClassNotFoundException| 
 | JavaTM Platform Standard Ed. 6 | |||||||||
| 上一个类 下一个类 | 框架 无框架 | |||||||||
| 摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 | |||||||||
版权所有 2007 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策。