您的位置:首页 > 编程语言

swing界面编程-国际化-中英文切换-简单示例供参考

2017-05-22 19:29 435 查看
import java.awt.BorderLayout;

import java.awt.Dimension;

import java.awt.FlowLayout;

import java.awt.GridLayout;

import java.awt.Toolkit;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.util.Locale;

import java.util.ResourceBundle;

import javax.swing.JComboBox;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JPanel;

import javax.swing.JTextField;

import javax.swing.SwingConstants;

@SuppressWarnings("serial")

public class NewJFrame extends JFrame {
private static ResourceBundle rs = ResourceBundle.getBundle("language");
static JLabel labelUserName = new JLabel("用户名:");
static JLabel labelpwd = new JLabel("密码:");
static JComboBox cboLanguage;

public NewJFrame() {
JPanel contentPane = new JPanel(new FlowLayout(FlowLayout.CENTER,0,0));
this.setContentPane(contentPane);
contentPane.setLayout(new BorderLayout());
panelTop(contentPane);
onClick();
// 设置窗口显示的位置
position(this);
}
public static void main(String args[]) {
new NewJFrame();
}

/**
* 设置窗口位置
*/
public static void position(JFrame frame) {
final int WIDTH = 630;
final int HEIGHT = 350;
// 设置顶层容器类对象的关闭功能
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// 设置窗口大小
frame.setSize(WIDTH, HEIGHT);
Toolkit kit = Toolkit.getDefaultToolkit();
Dimension screenSize = kit.getScreenSize();
int width = screenSize.width;
int height = screenSize.height;
int x = (width - WIDTH) / 2;
int y = (height - HEIGHT) / 2;
// frame.pack();
// 设置窗口位置
frame.setLocation(x, y);
// 设置顶层容器类的可见性
frame.setVisible(true);
frame.setResizable(false);
}

/**
* 顶部的中英文下拉框

* @param frame
* @param panelComboBox
*/
@SuppressWarnings({ "unchecked", "rawtypes" })
public static void panelTop(JPanel frame) {
// 第一个容器 顶部的下拉框
JPanel panelComboBox = new JPanel(new GridLayout(1,5,20,0));
frame.add("North",panelComboBox);
panelComboBox.setBounds(150, 150, 400, 300);
//panelComboBox.setBorder(BorderFactory.createLineBorder(Color.BLUE));
String[] language = { "简体中文", "English" };
cboLanguage = new JComboBox(language);
labelUserName.setHorizontalAlignment(SwingConstants.CENTER);
JTextField tfUserName = new JTextField(10);
labelpwd.setHorizontalAlignment(SwingConstants.CENTER);
JTextField tfpwd = new JTextField(10);
panelComboBox.add(labelUserName);
panelComboBox.add(tfUserName);
panelComboBox.add(labelpwd);
panelComboBox.add(tfpwd);
panelComboBox.add(cboLanguage);
}
public static void onClick(){
cboLanguage.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
 int index = cboLanguage.getSelectedIndex();
if(index==0){
rs = ResourceBundle.getBundle("language",Locale.CHINA);
updateLabel();
}else{
rs = ResourceBundle.getBundle("language",Locale.ENGLISH);
updateLabel();
}
}
});
}
private static void updateLabel() {
labelUserName.setText(rs.getString("strLabelUserName"));
labelpwd.setText(rs.getString("strLabelPwd"));
}
/**
* 在src下创建文件    language_en.properties

* 添加内容
*  key:strLabelUserName   value:user name
*  key:strLabelPwd        value:password

*/

/**
* 在src下创建文件   language_zh_CN.properties
* 添加内容
*  key:strLabelUserName   value:用户名:
*  key:strLabelPwd        value:密码:

*/

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: