simplei18ntest.java

来自「corejava的一部分源码,与corejiavasource中的有区别。」· Java 代码 · 共 53 行

JAVA
53
字号
import java.applet.Applet;
import java.util.*;
import java.awt.*;
import java.awt.event.*;

public class SimpleI18NTest extends Applet implements ItemListener {
	private Label  guiLabel = new Label();
	private Choice choice   = new Choice();

	public void init() {
		choice.add(Locale.ENGLISH.getDisplayName());
		choice.add(Locale.FRENCH.getDisplayName());
		choice.addItemListener(this);

		add(choice);
		add(guiLabel);

		guiLabel.setLocale(Locale.ENGLISH);
		internationalize();
	}
	public void itemStateChanged(ItemEvent event) {
		int index = choice.getSelectedIndex();
		
		if(index == 0) guiLabel.setLocale(Locale.ENGLISH);
		else           guiLabel.setLocale(Locale.FRENCH);

		internationalize();
		validate();
	}
	private void internationalize() {
		String s = getIdentifierString(guiLabel.getLocale());

		if(s != null) {
			guiLabel.setText(s);
			guiLabel.invalidate();
		}
	}
	private String getIdentifierString(Locale l) {
		ResourceBundle bundle = null;

		try { 
			bundle = ResourceBundle.getBundle("LabelsBundle", l);
		}
		catch(MissingResourceException e) {
			e.printStackTrace();
		}
		if(bundle == null) 
			return null;
		else 
			return (String)bundle.getObject("Identifier");
	}
}

⌨️ 快捷键说明

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