⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jzjresources.java

📁 模仿WINDOWS的WINZIP的一款软件
💻 JAVA
字号:
package org.jr.jzj;

/**
 * <p>Copyright: Copyright (c) 2002-2003</p>
 * <p>Company: JavaResearch(http://www.javaresearch.org)</p>
 * <p>最后更新日期:2003年1月9日
 * @author Cherami,Barney,Brain
 * @version 0.8
 */

import java.util.*;
import java.util.prefs.*;

/**
 * 系统的资源的抽象。
 * <p><b>目前使用的是JDK1.4引入的资源束类进行实现,使用此类的目的就是方便换用其他的方案</b>
 * <p>以后换用其他方案时不用修改其他部分的代码,目前这个类实际上是JDK1.4引入的资源束的一个代理(Proxy),
 * 而且此类被设计为一个Singleton类,因为一个系统只需要一个这样的类。
 */

public class JZJResources {
  private static JZJLogger logger = new JZJLogger(JZJResources.class);
  private static ResourceBundle resourceBundle; //底层的实际资源,即资源束
  private static boolean haveGetResource = false; //是否已经得到资源
  private static JZJResources resource; //唯一的资源类实例
  Preferences preference = JZipJar.preference;
  /**
   * 构造方法,定义为私有防止被多次实例化。
   */
  private JZJResources() {
  }

  /**
   * 得到系统资源。
   * @return  系统唯一的资源实例,语言使用本系统默认的语言,即通过JZipJar.getSystemLocale()得到的。
   */
  public static JZJResources getResources() {
    return getResources(JZipJar.getSystemLocale());
  }

  /**
   * 根据指定的语言得到系统资源。
   * @param locale 系统使用的区域以便得到适合的资源
   * @return 系统唯一的资源实例
   */
  public static JZJResources getResources(Locale locale) {
    //如果已经实例化则返回唯一的那个资源,否则进行实例化
    if (haveGetResource) {
      return resource;
    }
    else {
      resourceBundle = getResourceBundle(locale);
      resource = new JZJResources();
      return resource;
    }
  }

  /**
   * 得到资源束。
   * @param locale 系统使用的区域
   * @return 和区域匹配的合适的资源束
   */
  private static ResourceBundle getResourceBundle(Locale locale) {
    haveGetResource = true;
    return ResourceBundle.getBundle(JZJResources.class.getPackage().getName() +
                                    ".Resources", locale);
  }

  /**
   * 根据主键得到对应的字符串。
   * @param key 主键
   * @return 主键对应的字符串
   */
  public String getString(String key) {
    return resourceBundle.getString(key);
  }

  /**
   * 根据主键得到对应的字符串数组。
   * @param key 主键
   * @return 主键对应的字符串数组
   */

  public String[] getStringArray(String key) {
    return resourceBundle.getStringArray(key);
  }

  /**
   * 根据主键得到对应的对象。
   * @param key 主键
   * @return 主键对应的对象
   */

  public Object getObject(String key) {
    return resourceBundle.getObject(key);
  }

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -