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();
}
}