A Locale object represents a specific geographical, political, or cultural region. An operation that requires a Locale to perform its task is called locale-sensitive and uses the Locale to tailor information for the user. For example, displaying a number is a locale-sensitive operation--the number should be formatted according to the customs/conventions of the user's native country, region, or culture.

解决方案 »

  1.   

    Local类提供了大量的常量供用户创建Locale对象。
      

  2.   

    谢谢shidu(十度)的回答,请问它主要用来干什么?
      

  3.   

    Locale作为参数,以便可能地指定一个不同的地区
      

  4.   

    to scottwhb() :
    能给个例子吗?
      

  5.   

    Locale locale_zh_CN = new Locale("zh", "CN");
    Locale locale_en_US = new Locale("en", "US");NumberFormat nf1 = NumberFormat.getInstance(locale_zh_CN);
    NumberFormat nf2 = NumberFormat.getInstance(locale_en_US);Locale适用于描述不同地理位置、政治、文化区域的类。你创建不同的Locale对象并使用时,会根据所代表的不同地理位置、政治、文化区域显示不同的结果。比如在中国和美国对数字的格式化方式就可能不同。
      

  6.   

    public final class Locale 
    extends Object 
    implements Cloneable, Serializable 
    一个 Locale 对象描述了一个特定地理的、政治的和文化的语言环境。一个要求 Locale 执行的任务操作是 语言环境敏感的 ,它使用 Locale 来为用户裁剪信息。例如,显示一个数是语言环境敏感的操作--数应根据用户的国家、地区或文化的风俗/传统来格式化。 使用该类中的两个构造子之一创建一个 Locale :  Locale(String language, String country)
     Locale(String language, String country, String variant)
     
    第一个参数是对两个构造子都有效的 ISO 语言代码。 这些代码是根据 ISO-639 定义的小写的两字母代码。 
    第二个参数是对两个构造子都有效的 ISO 国家代码。 这些代码是根据 ISO-3166 定义的大写的两字母代码。 第二个构造子需要第三个参数 Variant。 变量代码是由供应商和浏览器指定的。例如,用 WIN 代表 Windows, MAC 代表 Macintosh 和 POSIX 代表 POSIX。 当有两个变量时,把它们用下划线区分开来,把最重要的放在前面。例如,一个传统的西班牙小吃可用 "ES"、"ES"、"Traditional_WIN" 引用。 因为一个 Locale 对象就是一个地区的标识符,当构造一个 Locale 时,没有有效性检查。 如果想看特定的资源在您构造的 Locale 中是否可用,必须查询那些资源。例如,使用 getAvailableLocales 方法向 NumberFormat 询问它支持的语言环境。 
    注意: 当询问一个特定的地区的资源时,可得到最好的可用的匹配,没必要精确地如您要求的那样。详见 ResourceBundle. Locale 类提供了一些便利的常量,可用它们为通常使用的语言环境创建 Locale 对象。例如,下面为美国创建一个 Locale 对象:  Locale.US
     
    一旦已经创建了一个 Locale ,可查询它获得关于它自身的信息。使用 getCountry 来获取 ISO 国家代码和使用 getLanguage 方法来获取 ISO 语言代码。可使用 getDisplayCountry 方法来获取适合对用户显示的国家名字。同样,可使用 getDisplayLanguage 方法来获取适合对用户显示的语言名字。 有趣地是,getDisplayXXX 方法本身是语言环境敏感的,它有两个版本:一个使用缺省的语言环境,另一个使用指定的语言环境作为参数。 JDK 提供了一些执行语言环境敏感的操作的类。例如,NumberFormat 类以语言环境敏感的方式格式化数、货币或百分比。 NumberFormat 这样的类有一些创建那个类型的缺省对象的便捷方法。例如,NumberFormat 类提供了下面三个创建缺省的 NumberFormat 对象的便利方法:  NumberFormat.getInstance()
     NumberFormat.getCurrencyInstance()
     NumberFormat.getPercentInstance()
     
    这些方法有两个变量;一个有明确的语言环境而另一个没有;后者使用缺省的语言环境。 
     NumberFormat.getInstance(myLocale)
     NumberFormat.getCurrencyInstance(myLocale)
     NumberFormat.getPercentInstance(myLocale)
     
    一个 Locale 是识别您想获取的对象(NumberFormat)的种类的机制。语言环境仅是识别对象的机制,不是对象本身的容器。 
    每个执行语言环境敏感的操作的类允许您获取那个类型的所有可用对象。可以通过语言、国家或变量来筛选对象,和使用显示名字为用户显示一个菜单。例如,可创建一个适合于一个给定语言的所有小吃对象的菜单。这样的类必须执行下面三个类方法:  public static Locale[] getAvailableLocales()
     public static String getDisplayName(Locale objectLocale,
                                         Locale displayLocale)
     public static final String getDisplayName(Locale objectLocale)
         // getDisplayName will throw MissingResourceException if the locale
         // is not one of the available locales.
      

  7.   

    Locale就是用来设定不同时区不同地点的类
      

  8.   

    主要在考虑国际化的时候使用的,在不同的地区有不同的习惯。像组件的方向,那就要用到ComponentOrientation类,但是ComponentOrientation的构造函数都是私有的,但是他有两个静态方法
    其中一个就是getOrientation(Locale locale)
    而Locale 类又提供许多常量
    你可以这样得到用于中国的ComponentOrientation
    ComponentOritation chinaCO=ComponentOrientation.getOrientation(Locale.CHINA);
    得到用于一个地区的上面对象后,就可以用isHorizontal()和isLeftToRight()获得那个地区的组件方向,然后如果组件方向是从右到左的话,你就可以这样设置你的组件方向
    jtextarea.setComponetOrientation(ComponetOrientation.RIGHT_TO_LEFT);
    可以了吧!