软件界面要支持多语言,每选一种语言都需要调用界面上的所有控件setText(),麻烦死了,有没有简单的方法呀,多多赐教。
解决方案 »
- 根据控制台输入计算数学二次函数,求解!
- 请帮下忙!
- 对象数组的简单问题
- hibernate中怎么做select 1表.name,2表.age into 新表 from 1表,2表 ?
- 请教一个JSF编码问题!
- 我有一个Swing组件(继承了Component类),里面弹出一个对话框,我想控制它在Swing组件的中间而不是屏幕的中间,怎么办?
- 哎!再简单不过了,日期类型的问题:请进
- java native memory 不停增长
- JIVE2。5。3+TOMCAT4。0的中文问题
- 新手提问:各位大虾,能否给小弟详细介绍一下java中的sdk、jdk、jre这些名词?
- JAVA中 int 类型转换float类型为什么精度会下降,它们不都是32位吗? 下降的原因是什么?
- 关于Resultset的absolute问题
public void updateString();
}
你的Panel应该实现MultiLanguagable接口,然后在updateString()里写所有赋值,例如btn1.setText(MultiLanguage.getString("btn.OK"));btn2.setText(MultiLanguage.getString("btn.OK"));btn3.setText(MultiLanguage.getString("btn.OK"))...切换语言时调用MultiLanguage.executeUpdateString(this.getContentPane()); //循环子组件,执行实现Multilanguagable组件的updateString方法,如果子组件没有实现Multilanguagable,
//且是容器,则进行递归。
public static void executeUpdateString(Container container) {
int size = container.getComponentCount();
Component component;
for (int i = 0; i < size; i++) {
component = container.getComponent(i);
if (component instanceof MultiLanguagable) {
((MultiLanguagable)component).updateString();
} else if (component instanceof Container) {
executeUpdateString((Container)component);
}// 否则不作任何事情
}
}