java.util.ResourceBuble
          ResourceBundle此类主要用于读取资源文件,如字符串、图片等。类似于VC中的资源文件
当然我们也可以用它来实现应用软件的国际化和本地化。
//:国际化和本地化.txt1、
/**
     * File name: i18nDemoModify.java
     * Author: Jack, at http://bbs.whnet.edu.cn, Java discuss board.
     * Email: [email protected]
     * Description: Shows a Dialog with a "OK" button and "File"/"Exit" menu.
     *              This program made some modifications to fit the requestion of i18n
     */
    import javax.swing.*;
    import java.awt.*;
    import java.util.*;    public class i18nDemoModify {
      public static void main(String args[]) throws Exception{
        ResourceBundle res;
        if (args.length<1) {
          //use current locale at machine to get the resource bundle.
          //如果没有指定Locale,那么在生成ResourceBundle使用的Locale是当前机器上缺省的区域和语言
          //这样,如果机子是Windows2000中文,则自动选择中文资源
          //资源文件是以类的方式提供的。以Resmy开头,Resmy可以换成其他的字符串
          res = ResourceBundle.getBundle("Resmy");
        }else {
          res = ResourceBundle.getBundle("Resmy",new Locale(args[0], args[1]));
        }        JDialog dialog=new JDialog();
        JButton btOK=new JButton();
        JMenuBar menuBar=new JMenuBar();
        JMenu menuFile=new JMenu();
        JMenuItem menuExit=new JMenuItem();
        //如果不指定字体,将使用系统当前的字体
        Font font = new Font(res.getString("FontName"),Font.PLAIN,12);        btOK.setText(res.getString("OKText"));
        menuFile.setText(res.getString("FileMenuText"));
        menuExit.setText(res.getString("FileExitMenuText"));
        dialog.setTitle(res.getString("DialogTitle"));
        //如果不指定字体,将使用系统当前的字体
        btOK.setFont(font);
        menuFile.setFont(font);
        menuExit.setFont(font);        menuBar.add(menuFile);
        menuFile.add(menuExit);
        dialog.getContentPane().setLayout(new FlowLayout());
        dialog.getContentPane().add(btOK);
        dialog.getContentPane().add(menuBar);
        dialog.setSize(200,100);
        dialog.setModal(true);
        dialog.show();
        System.exit(0);
      }
    }
  
2、英文资源
/**
     * File name: Resmy_en_US.java
     * Author: Jack, at http://bbs.whnet.edu.cn, Java discuss board.
     * Email: [email protected]
     * Description: Resource file for i18nDemoModify.java
     */
    import java.util.*;
    public class Resmy_en_US extends java.util.ListResourceBundle {
      static final Object[][] contents = new String[][]{
        { "OKText", "OK" },
        { "FontName", "Dialoginput" },
        { "FileMenuText", "File"},
        { "FileExitMenuText", "Exit"},  
        { "DialogTitle", "Demo Dialog" }};
      public Object[][] getContents() {
        return contents;
      }
    }
3、中文资源
  /**
     * File name: Resmy_zh_CN.java
     * Author: Jack, at http://bbs.whnet.edu.cn, Java discuss board.
     * Email: [email protected]
     * Description: Resource file for i18nDemo.java
     */
    import java.util.*; 
    public class Resmy_zh_CN extends java.util.ListResourceBundle {
      static final Object[][] contents = new String[][]{
        { "OKText", "确定" },
        { "FontName", "华文彩云" },
        { "FileMenuText", "文件"},
        { "FileExitMenuText", "退出"},
        { "DialogTitle", "演示对话框" }};
      public Object[][] getContents() {
        return contents;
      }
    }4、测试执行 javac i18nDemoModify.java
javac Resmy_en_US.java
javac Resmy_zh_CN.java
java  i18nDemoModify
rem java  i18nDemoModify zh CN
rem java  i18nDemoModify en US