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:密码:
*
*/
}
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:密码:
*
*/
}
相关文章推荐
- Nuva 示例代码(每日一帖)之 国际化界面
- .NET中Socket编程的简单示例
- Java学习之图形界面编程Swing
- PHP命令行编程实例:FTP+SSL简单客户端示例
- Qt 国际化之二:多国语界面动态切换的实现
- 避免界面假死[简单示例]
- 初涉Ribbon界面简单编程——图书管理系统——基于MFC+vs2010+win7。
- Symbian 得到接入点ID-网络编程简单示例
- PHP Socket 编程-简单示例
- Symbian界面编程中关于Edit焦点切换的问题
- JS+XMLDOM+XSL:实现中英文界面切换、排序、分页显示、增删改查XML文件数据源
- .NET中Socket编程的简单示例
- .NET中Socket编程的简单示例
- PHP Socket 编程-简单示例
- Symbian 得到接入点ID-网络编程简单示例
- 实现 Eclipse 中英文界面快速切换
- .NET中Socket编程的简单示例
- Web安全实践(4)c#简单http编程示例
- minigui界面生成工具的一种简单实现方式,轻松实现Windows/linux minigui 跨平台界面编程
- 编写android简单的手势切换视图示例