现在实验室开发了一款软件,想实现多种语言的切换,不知道如何实现?望指点,谢谢!
具体说来:就是在菜单栏里有一个选择语言的选项,选了相应的语言之后,整个软件不重启的情况下变成相应的语言的版本,不知道是否表述清楚
具体说来:就是在菜单栏里有一个选择语言的选项,选了相应的语言之后,整个软件不重启的情况下变成相应的语言的版本,不知道是否表述清楚
解决方案 »
- 以下是java中的哪些异常?
- 这样一个问题如何实现?
- 创建String对象的问题??
- 求助:java与MSSQL数据库的连接疑问
- 请问高手,java如何下载铃声到手机,有没有例子代码,谢谢啦
- 初学者碰上碰上怪现象,网高人指点!
- 如何计算机等级考试成绩查询?
- java怎么入門﹖﹖哪位前輩有入門的電子書﹖哪個網站有關最好學java的﹖
- 求用图书管理系统!
- 一个问题,JRE和JDK什么关系,为什么程序在JDK可以运行,还要JRE
- 在windows 下的cmd 中用 java -version命令查看版本出现“java.exe遇到问题,需要关闭……”
- sqlserver2k 使用jdbc调用存储过程返回游标 找好多天找不到正解!
然后让所有界面都实现接口,比如:refresh(byte language)
调用后刷新界面。
public class NewJFrame extends javax.swing.JFrame {
private static java.util.ResourceBundle resources=
java.util.ResourceBundle.getBundle("softwareResources");
public NewJFrame() {
initComponents();
}
private void initComponents() { jLabel1 = new javax.swing.JLabel();
jTextField1 = new javax.swing.JTextField();
jLabel2 = new javax.swing.JLabel();
jTextField2 = new javax.swing.JTextField();
jButton1 = new javax.swing.JButton();
jButton2 = new javax.swing.JButton();
jMenuBar1 = new javax.swing.JMenuBar();
jMenu1 = new javax.swing.JMenu();
jRadioButtonMenuItem1 = new javax.swing.JRadioButtonMenuItem(
java.util.Locale.CHINA.getDisplayName(java.util.Locale.ENGLISH));
jRadioButtonMenuItem2 = new javax.swing.JRadioButtonMenuItem(
java.util.Locale.CHINA.getDisplayName(java.util.Locale.ENGLISH)); setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
jMenu1.setText("File");
jRadioButtonMenuItem1.setText("English");
jRadioButtonMenuItem1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jRadioButtonMenuItem2.setSelected(false);
resources=java.util.ResourceBundle.getBundle("softwareResources",java.util.Locale.ENGLISH);
updateLabel();
}
});
jMenu1.add(jRadioButtonMenuItem1); jRadioButtonMenuItem2.setSelected(true);
jRadioButtonMenuItem2.setText("Chinese");
jRadioButtonMenuItem2.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jRadioButtonMenuItem1.setSelected(false);
resources=java.util.ResourceBundle.getBundle("softwareResources",java.util.Locale.CHINA);
updateLabel();
}
});
jMenu1.add(jRadioButtonMenuItem2);
jMenuBar1.add(jMenu1);
setJMenuBar(jMenuBar1);
updateLabel();
setLayOut();
pack();
}
private void setLayOut()
{
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addGroup(layout.createSequentialGroup()
.addComponent(jLabel1)
.addGap(18, 18, 18)
.addComponent(jTextField1, javax.swing.GroupLayout.DEFAULT_SIZE, 159, Short.MAX_VALUE))
.addGroup(layout.createSequentialGroup()
.addComponent(jLabel2)
.addGap(18, 18, 18)
.addComponent(jTextField2)))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addGroup(layout.createSequentialGroup()
.addGap(13, 13, 13)
.addComponent(jButton1)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 34, Short.MAX_VALUE)
.addComponent(jButton2)
.addGap(56, 56, 56))))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel1)
.addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel2)
.addComponent(jTextField2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(18, 18, 18)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jButton1)
.addComponent(jButton2))
.addContainerGap(19, Short.MAX_VALUE))
);
}
private void updateLabel(){
jLabel1.setText(resources.getString("Label_Text_Name"));
jLabel2.setText(resources.getString("Label_Text_Class"));
jButton1.setText(resources.getString("Button_Label_Sure"));
jButton2.setText(resources.getString("Button_Label_cancel"));
} public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new NewJFrame().setVisible(true);
}
});
} // Variables declaration - do not modify
private javax.swing.JButton jButton1;
private javax.swing.JButton jButton2;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JMenu jMenu1;
private javax.swing.JMenu jMenu2;
private javax.swing.JMenuBar jMenuBar1;
private javax.swing.JRadioButtonMenuItem jRadioButtonMenuItem1;
private javax.swing.JRadioButtonMenuItem jRadioButtonMenuItem2;
private javax.swing.JTextField jTextField1;
private javax.swing.JTextField jTextField2;
// End of variables declaration }softwareResources_en.propertiesButton_Label_Sure=Sure
Button_Label_cancel=cancel
Label_Text_Name=Name:
Label_Text_Class=Class:softwareResources_zh_CN.propertiesButton_Label_Sure=\u786e\u5b9a
Button_Label_cancel=\u53d6\u6d88
Label_Text_Name=\u59d3\u540d:
Label_Text_Class=\u73ed\u7ea7: