我需要帮助使用一个资源包,在那里我可以更改java程序中的语言
问题: 在Eclipse中创建新项目我需要帮助使用一个资源包,在那里我可以更改java程序中的语言,java,swing,internationalization,Java,Swing,Internationalization,问题: 在Eclipse中创建新项目 修改上一张幻灯片中的JFrame。添加列出“英语”和“法语”的JComboBox。选择法语选项时,使用资源包将英语JButton翻译为法语“Montrer tous les Locales”。JComboBox也应该国际化,当法语是选定的语言时,可以阅读“法语”和“英语” 代码: 导入java.awt.BorderLayout; 导入java.awt.Container; 导入java.awt.event.ActionEvent; 导入java.awt.ev
修改上一张幻灯片中的JFrame。添加列出“英语”和“法语”的JComboBox。选择法语选项时,使用资源包将英语JButton翻译为法语“Montrer tous les Locales”。JComboBox也应该国际化,当法语是选定的语言时,可以阅读“法语”和“英语” 代码:
导入java.awt.BorderLayout;
导入java.awt.Container;
导入java.awt.event.ActionEvent;
导入java.awt.event.ActionListener;
导入java.util.Calendar;
导入java.util.Locale;
导入java.util.ResourceBundle;
导入javax.swing.JButton;
导入javax.swing.JComboBox;
导入javax.swing.JFrame;
导入javax.swing.JLabel;
导入javax.swing.JPanel;
导入javax.swing.JScrollPane;
导入javax.swing.JTextArea;
公共类Exercise2扩展JFrame实现ActionListener{
私人资源;
私有静态最终长serialVersionUID=1L;
按钮;
JFrame框架;
jtextta区;
JLabel标签;
JComboBox组合;
字符串[]数组;
Locale[]availableLocales=Calendar.getAvailableLocales();
公众锻炼2(){
Locale loc=new Locale(“de”,“de”);//在德国为德语创建Locale
getRes();
setRes(ResourceBundle.getBundle(“ProgramResource”,loc));//创建资源束
JLabel greetLabel=new JLabel(getRes().getString(“问候”);//获取问候语键值的值
JButton computeButton=newjbutton(getRes().getString(“computeButton”);//按钮键值
getContentPane().add(greetLabel);
getContentPane().add(computeButton,BorderLayout.SOUTH);
容器c=getContentPane();
JPanel p=新的JPanel();
字符串[]数组={“英语”、“法语”};
combo=新的JComboBox(数组);
label=newjlabel(getRes().getString(“问候”));
按钮=新的JButton(getRes().getString(“按钮”);
ta=新的JTextArea(10,12);
ta.setEditable(false);
按钮=新的JButton();
setText(“列出所有地区”);
addActionListener(这个);
JScrollPane输出=新的JScrollPane(组合);
p、 添加(按钮,BorderLayout.NORTH);
p、 添加(输出);
p、 添加(组合);
c、 加(p);
设置大小(300300);
setVisible(真);
}
已执行的公共无效操作(操作事件a){
//执行自动生成的方法存根
if(a.getActionCommand().equals(“列出所有区域设置”)){
for(int i=0;i
所以我不断地得到一个错误,说:
Exception in thread "main" java.util.MissingResourceException: Can't find bundle for base name ProgramResource, locale de_DE
at java.util.ResourceBundle.throwMissingResourceException(ResourceBundle.java:1499)
at java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:1322)
at java.util.ResourceBundle.getBundle(ResourceBundle.java:795)
at Exercise2.<init>(Exercise2.java:42)
at Exercise2.main(Exercise2.java:89)
线程“main”java.util.MissingResourceException中的异常:找不到基本名称ProgramResource、locale de_de的捆绑包
位于java.util.ResourceBundle.throwMissingResourceException(ResourceBundle.java:1499)
位于java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:1322)
位于java.util.ResourceBundle.getBundle(ResourceBundle.java:795)
在练习2。(练习2.java:42)
在Exercise2.main(Exercise2.java:89)
我不知道这意味着什么,每次我更改某些内容时,它似乎都不起作用您必须创建一个文本文件,其中包含诸如eg.button=france之类的文本,以及ResourceBundle之类的类:
import java.io.IOException;
import java.util.PropertyResourceBundle;
public class ProgramProperties_de extends PropertyResourceBundle {
public ProgramProperties_de() throws IOException {
super(ProgramProperties_de.class.getResourceAsStream("ProgramProperties_de.txt"));
}
}
import java.io.IOException;
import java.util.PropertyResourceBundle;
public class ProgramProperties_de extends PropertyResourceBundle {
public ProgramProperties_de() throws IOException {
super(ProgramProperties_de.class.getResourceAsStream("ProgramProperties_de.txt"));
}
}