InterPanel.java



import java.util.Locale;
import java.util.ResourceBundle;
import java.util.ListResourceBundle;
import java.awt.*;

/** 国際化対応したボタンのラベル表示を行う InterPanelクラス */

public class InterPanel extends Panel {

    /** ボタンのラベル用の ResourceBundle */

           public ResourceBundle labelResource;

    /** コンストラクタ */

     InterPanel( String labelKeys[] ){

           super();

           labelResource = ResourceBundle.getBundle(
                          "LabelResource", Locale.getDefault() );

           Button[] buttons = new Button[ labelKeys.length ];
           String[] labelStrings = new String[ labelKeys.length ];

           for( int i=0; i<labelKeys.length; i++ ) {
                labelStrings[i] =
                    labelResource.getString( labelKeys[i] );
                buttons[i] = new Button( labelStrings[i] );
                add( buttons[i] );
           }
     }

    /** 最初に呼び出される main メソッド */

     public static void main( String argv[] ){

          String[] labelKeys = new String[5];
          labelKeys[0] = "cat";
          labelKeys[1] = "dog";
          labelKeys[2] = "elephant";
          labelKeys[3] = "tiger";
          labelKeys[4] = "dragon";

          InterPanel panel = new InterPanel( labelKeys );
          ExitableFrame frame = new ExitableFrame(
                        panel.labelResource.getString( "zoo" ) );
          frame.add( panel, "Center" );
          frame.pack();
          frame.show();
     }
}