📄 languagedemo.java
字号:
import java.util.Enumeration;
import java.util.ResourceBundle;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class LanguageDemo extends JFrame
{
//声明下拉列表组件
private JComboBox comboBox;
//声明标签组件
private JLabel label;
//声明并初始化下拉列表组件选项字符串数组
private String languages[] = {"ENGLISH", "CHINESE", "JAPANESE", "FRENCH", "GERMANY"};
public LanguageDemo()
{
super("Language Demo");
setSize(300, 300); //设置窗口大小
Container container = getContentPane(); //获取内容面板
//设置内容面板的布局管理器及背景颜色
container.setLayout(new BorderLayout());
container.setBackground(Color.WHITE);
//创建标签组件对象
label = new JLabel("");
label.setFont(new Font("Serif", Font.PLAIN, 20));
//创建下拉列表
comboBox = new JComboBox(languages);
//设置用户单击下拉列表时所能显示的列表项的最大数目
comboBox.setMaximumRowCount(5);
//设置默认的选择项
comboBox.setSelectedIndex(0);
//设置字体
comboBox.setFont(new Font("Serif", Font.PLAIN, 14));
//注册监听器
comboBox.addItemListener(new ComboBoxHandler());
container.add(comboBox,BorderLayout.NORTH); //向内容面板中加入下拉列表组件
container.add(label,BorderLayout.CENTER); //向内容面板中加入标签组件
setVisible(true); //设置窗口为可见
}
private class ComboBoxHandler implements ItemListener
{ //自定义类,用于处理下拉列表事件
public void itemStateChanged(ItemEvent event)
{
if(event.getStateChange() == event.SELECTED)
{
//加载.Properties文件
String filename = languages[comboBox.getSelectedIndex()];
//获取对应文件名为filename的.Properties文件
ResourceBundle bundle = ResourceBundle.getBundle(filename);
//获取对应关键字为"hello"的键值
String str = bundle.getString("hello");
String code = bundle.getString("code");
try
{
String value = new String(str.getBytes(),code);
label.setText(value); //设置标签内容
}catch(Exception e){}
}
}
}
public static void main(String[] args)
{
LanguageDemo demo = new LanguageDemo();
demo.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -