<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    懵懵燈燈的BLOG

    寒夜孤燈點點星

      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
      56 隨筆 :: 10 文章 :: 22 評論 :: 0 Trackbacks

    ResourceBundle (Abstract):handleGetObject(String),getKeys()
    ?+ ListResourceBundle (Abstract) : getContent()
    ?+ PropertyResourceBundle
    ?
    ======================================

    用法:

    1. 取得PropertyResourceBundle的實例,我們使用以下靜態方法:

    ResourceBundle.getBundle(String base)
    ResourceBundle.getBundle(String base,Locale)
    ResourceBundle.getBundle(String base,Locale,ClassLoader)

    return ResourceBundle instance


    NOTE:? 其中的base可以使類名,也可以是資源文件的名稱。
    1) the Property File should be located as full qualified name,
    seperated by "/" or "." from class path, respect to the ClassLoader

    MyResource.properties?????? //default
    MyResource_zh.properties
    MyResource_de.properties


    2) the ResourceBundle Class should be located as full qualified name,
    seperated by "/" or "." from class path, respect to the ClassLoader

    MyResource.class?????//default parent by name
    MyResource_zh.class
    MyResource_de.class

    -------------------------------------------------------------
    public class MyResource extends ResourceBundle {

    ?@Override
    ?public Enumeration<String> getKeys() {
    ???? ResourceBundle parent = this.parent;
    ????
    ???? HashSet<String> s=new HashSet<String>();
    ????? return new Enumeration<String>(){
    ????? ?
    ????? ?int count=0;
    ?
    ????public boolean hasMoreElements() {
    ?????
    ?????return count<2;
    ????}
    ?
    ????public String nextElement() {
    ?????synchronized (MyResource.this) {
    ???????if(count++==0) return "okKey";
    ???????if(count++==1) return "cancelKey";
    ???????else return null;
    ?????}
    ????}
    ???};
    ?}

    ?@Override
    ?protected Object handleGetObject(String key) {
    ????if (key.equals("okKey")) return "Ok";
    ??????? if (key.equals("cancelKey")) return "Cancel";
    ??????? return null;
    ?}
    }

    //if some key not find, go to the parent
    public class MyResource_de extends MyResource {
    ?@Override
    ?protected Object handleGetObject(String key) {
    ????//if (key.equals("okKey")) return "Ok_de";
    ??????? if (key.equals("cancelKey")) return "Cancel_de";
    ??????? return null;
    ?}
    }


    3) the name convention:

    baseclass + "_" + language1 + "_" + country1 + "_" + variant1
    baseclass + "_" + language1 + "_" + country1
    baseclass + "_" + language1
    baseclass
    baseclass + "_" + language2 + "_" + country2 + "_" + variant2
    baseclass + "_" + language2 + "_" + country2
    baseclass + "_" + language2

    4) throws:

    java.lang.NullPointerException if baseName or locale is null
    MissingResourceException if no resource bundle for the specified base name can be found


    2. 使用ListResourceBundle

    public class MyResources extends ListResourceBundle {
    ???? protected Object[][] getContents() {
    ???????? return new Object[][] = {
    ???????? // LOCALIZE THIS
    ???????????? {"OkKey", "OK"},
    ???????????? {"CancelKey", "Cancel"},
    ???????? // END OF MATERIAL TO LOCALIZE
    ???????? };
    ???? }
    }

    3. 使用Parent

    // default (English language, United States)
    ?abstract public class MyResources extends ResourceBundle {
    ???? public Object handleGetObject(String key) {
    ???????? if (key.equals("okKey")) return "Ok";
    ???????? if (key.equals("cancelKey")) return "Cancel";
    ???????? return null;
    ???? }
    ?}

    ?// German language
    ?abstract public class MyResources_de extends MyResources {
    ???? public Object handleGetObject(String key) {
    ???????? // don't need okKey, since parent level handles it.
    ???????? if (key.equals("cancelKey")) return "Abbrechen";
    ???????? return null;
    ???? }
    ?}
    ?
    4. 取得bundle中的對象

    getString(String key)
    getStringArray(String key)
    getObject(String key)

    ?

    ?

    ?

    ?

    ?

    ?


    ?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????

    posted on 2007-12-11 13:53 懵懵燈燈 閱讀(1042) 評論(1)  編輯  收藏 所屬分類: Language_Java

    評論

    # re: [JAVA]java.util.ResourceBundle使用 2008-11-14 14:43 等等等
    什么玩意  回復  更多評論
      


    只有注冊用戶登錄后才能發表評論。


    網站導航:
    博客園   IT新聞   Chat2DB   C++博客   博問  
     
    主站蜘蛛池模板: 精品亚洲成α人无码成α在线观看 | 国产在亚洲线视频观看| 一二三四影视在线看片免费 | 亚洲最大中文字幕无码网站| 亚洲精品免费在线观看| 在线观看亚洲天天一三视| 乱爱性全过程免费视频| 亚洲日韩在线观看| japanese色国产在线看免费| 中文字幕亚洲日本岛国片| 黄 色一级 成 人网站免费| 亚洲综合另类小说色区色噜噜| 黄页网站在线免费观看| 精品国产香蕉伊思人在线在线亚洲一区二区| 午夜成人无码福利免费视频| 国产成人亚洲影院在线观看| 两个人看的www免费视频中文| 久久国产亚洲精品麻豆| 最近免费中文字幕高清大全 | 日韩成人精品日本亚洲| 亚洲av无码专区在线观看素人| 一边摸一边桶一边脱免费视频| 国产亚洲人成A在线V网站| 亚洲电影免费在线观看| 亚洲中文字幕AV在天堂| 成人亚洲综合天堂| 青青操视频在线免费观看| 亚洲另类精品xxxx人妖| 四虎免费久久影院| 99精品视频在线观看免费| 亚洲高清无在码在线无弹窗| 夜夜爽免费888视频| 久久久精品国产亚洲成人满18免费网站| 亚洲av一综合av一区| 亚洲免费网站观看视频| 日韩在线观看免费| 亚洲伦理一区二区| 精品久久久久久久免费人妻| 成在线人免费无码高潮喷水| 亚洲精品偷拍无码不卡av| 免费一级毛片清高播放|