上来就给源码,这就是我做事风格
packagelangue;
importjavax.swing.jradiobuttonmenuitem;
importjavax.swing.swingutilities;
publicclassnewjframeextendsjavax.swing.jframe{
privatestaticjava.util.resourcebundleresources=
java.util.resourcebundle.getbundle("langue/softwareresources");
publicnewjframe(){
initponents();
}
privatevoidinitponents(){
jlabel1=newjavax.swing.jlabel();
jtextfield1=newjavax.swing.jtextfield();
jlabel2=newjavax.swing.jlabel();
jtextfield2=newjavax.swing.jtextfield();
jbutton1=newjavax.swing.jbutton();
jbutton2=newjavax.swing.jbutton();
jmenubar1=newjavax.swing.jmenubar();
jmenu1=newjavax.swing.jmenu();
jradiobuttonmenuitem1=newjradiobuttonmenuitem();
jradiobuttonmenuitem2=newjradiobuttonmenuitem();
jradiobuttonmenuitem3=newjradiobuttonmenuitem();
jradiobuttonmenuitem4=newjradiobuttonmenuitem();
jradiobuttonmenuitem5=newjradiobuttonmenuitem();
setdefaultcloseoperation(javax.swing.windowconstants.exit_on_close);
jmenu1.settext("file");
//英语
jradiobuttonmenuitem1.settext("english");
jradiobuttonmenuitem1.addactionlistener(new
java.awt.event.actionlistener(){
publicvoidactionperformed(java.awt.event.actioneventevt){
jradiobuttonmenuitem2.setselected(false);
jradiobuttonmenuitem3.setselected(false);
jradiobuttonmenuitem4.setselected(false);
jradiobuttonmenuitem5.setselected(false);
resources=java.util.resourcebundle.getbundle("langue/softwareresources",java.util.locale.english);
updatelabel();
}
});
jmenu1.add(jradiobuttonmenuitem1);
//法语
jradiobuttonmenuitem3.settext("france");
jradiobuttonmenuitem3.addactionlistener(new
java.awt.event.actionlistener(){
publicvoidactionperformed(java.awt.event.actioneventevt){
jradiobuttonmenuitem2.setselected(false);
jradiobuttonmenuitem1.setselected(false);
jradiobuttonmenuitem4.setselected(false);
jradiobuttonmenuitem5.setselected(false);
resources=java.util.resourcebundle.getbundle("langue/softwareresources",java.util.locale.france);
updatelabel();
}
});
jmenu1.add(jradiobuttonmenuitem3);
//韩语
jradiobuttonmenuitem4.settext("korea");
jradiobuttonmenuitem4.addactionlistener(new
java.awt.event.actionlistener(){
publicvoidactionperformed(java.awt.event.actioneventevt){
jradiobuttonmenuitem2.setselected(false);
jradiobuttonmenuitem1.setselected(false);
jradiobuttonmenuitem3.setselected(false);
jradiobuttonmenuitem5.setselected(false);
=java.util.resourcebundle.("langue/softwareresources",javresourcesgetbundle
a.util.locale.korea);
updatelabel();
}
});
jmenu1.add(jradiobuttonmenuitem4);
//泰文
jradiobuttonmenuitem5.settext("thai");
jradiobuttonmenuitem5.addactionlistener(new
java.awt.event.actionlistener(){
publicvoidactionperformed(java.awt.event.actioneventevt){
jradiobuttonmenuitem2.setselected(false);
jradiobuttonmenuitem1.setselected(false);
jradiobuttonmenuitem3.setselected(false);
jradiobuttonmenuitem4.setselected(false);
resources=java.util.resourcebundle.getbundle("langue/softwareresources_th");
updatelabel();
}
});
jmenu1.add(jradiobuttonmenuitem5);
//中文
jradiobuttonmenuitem2.setselected(true);
jradiobuttonmenuitem2.settext("chinese");
jradiobuttonmenuitem2.addactionlistener(new
java.awt.event.actionlistener(){
publicvoidactionperformed(java.awt.event.actioneventevt){
jradiobuttonmenuitem1.setselected(false);
jradiobuttonmenuitem3.setselected(false);
jradiobuttonmenuitem4.setselected(false);
jradiobuttonmenuitem5.setselected(false);
resources=java.util.resourcebundle.getbundle("langue/softwareresources",java.util.locale.china);
updatelabel();
}
});
jmenu1.add(jradiobuttonmenuitem2);
jmenubar1.add(jmenu1);
setjmenubar(jmenubar1);
updatelabel();
setlayout();
this.setlocationrelativeto(null);
pack();
}
privatevoidsetlayout()
{
javax.swing.grouplayoutlayout=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.grouplayou
t.alignment.leading)
.addgroup(layout.createsequentialgroup()
.addgroup(layout.createparallelgroup(javax.swing.gr
ouplayout.alignment.leading,false)
.addgroup(layout.createsequentialgroup()
.addponent(jlabel1)
.addgap(18,18,18)
.addponent(jtextfield1,
javax.swing.grouplayout.default_size,159,short.max_value))
.addgroup(layout.createsequentialgroup()
.addponent(jlabel2)
.addgap(18,18,18)
.addponent(jtextfield2)))
.addcontainergap(javax.swing.grouplayout.default_si,short.max_value))ze
.addgroup(layout.createsequentialgroup()
.addgap(13,13,13)
.addponent(jbutton1)
.addpreferredgap(javax.swing.layoutstyleponentp
lacement.related,34,short.max_value)
.addponent(jbutton2)
.addgap(56,56,56))))
);
layout.setverticalgroup(
layout.createparallelgroup(javax.swing.grouplayout.alignment.leading)
.addgroup(layout.createsequentialgroup()
.addcontainergap()
.addgroup(layout.createparallelgroup(javax.swing.grouplayou
t.alignment.baseline)
.addponent(jlabel1)
.addponent(jtextfield1,
javax.swing.grouplayout.preferred_size,javax.swing.grouplayout.default_size,javax.swing.grouplayout.preferred_size))
.addpreferredgap(javax.swing.layoutstyleponentplacement
.unrelated)
.addgroup(layout.createparallelgroup(javax.swing.grouplayou
t.alignment.baseline)
.addponent(jlabel2)
.addponent(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.grouplayou
t.alignment.baseline)
.addponent(jbutton1)
.addponent(jbutton2))
.addcontainergap(19,short.max_value))
);
}
privatevoidupdatelabel(){
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"));
jmenu1.settext(resources.getstring("jmenu_text_file"));
}
publicstaticvoidmain(stringargs[]){
swingutilities.(newrunnable(){invokelater
publicvoidrun(){
newnewjframe().setvisible(true);
}
});
}
privatejavax.swing.jbuttonjbutton1;
privatejavax.swing.jbuttonjbutton2;
privatejavax.swing.jlabeljlabel1;
privatejavax.swing.jlabeljlabel2;
privatejavax.swing.jmenujmenu1;
privatejavax.swing.jmenujmenu2;
privatejavax.swing.jmenubarjmenubar1;
privatejavax.swing.jradiobuttonmenuitemjradiobuttonmenuitem1;
privatejavax.swing.jradiobuttonmenuitemjradiobuttonmenuitem2;
privatejavax.swing.jradiobuttonmenuitemjradiobuttonmenuitem3;
privatejavax.swing.jradiobuttonmenuitemjradiobuttonmenuitem4;
privatejavax.swing.jradiobuttonmenuitemjradiobuttonmenuitem5;
privatejavax.swing.jtextfieldjtextfield1;
privatejavax.swing.jtextfieldjtextfield2;
}
附上几个配置文件
softwareresources_en.properties英文
button_label_sure=sure
button_label_cancel=cancel
label_text_name=name
label_text_class=class
jmenu_text_file=file
softwareresources_zh_.properties中文
button_label_sure=\u786e\u5b9a
button_label_cancel=\u53d6\u6d88
label_text_name=\u59d3\u540d
label_text_class=\u73ed\u7ea7
jmenu_text_file=\u6587\u4ef6
softwareresources_ko_kr.properties韩文
button_label_sure=\ubb3c\ub860\uc774\uc8e0button_label_cancel=\ucde8\uc18c
label_text_name=\uc774\ub984
label_text_class=\ud074\ub798\uc2a4
jmenu_text_file=\ud30c\uc77c
剩下两个配置文件你们用google翻译去
softwareresources_fr_fr.properties
softwareresources_th.properties
给大家分享下我学习中遇到的问题
1,配置文件不显示英文外的其它文字
这是编码问题,没多大关系。如果你实在受不了这种方式可以去下载*
件,具体可以google......
2,为什么泰文读配置文件这样写
resources=java.util.resourcebundle.getbundle("langue/softwareresour
ces_th")而其它像韩文这样写
resources=java.util.resourcebundle.getbundle("langue/softwareresour
ces",java.util.locale.korea);
我为什么这样写呢,就是因为locale仅点的出来几个国家/地区,没有泰语
按照规范应该写成韩文这样的。locale.korea其实打印出来是ko_kr
所以它的配置文件就是softwareresources_ko_kr.properties,
如果懒点就直接写成
resources=java.util.resourcebundle.getbundle("langue/softwareresour
ces_ko_kr");不过对于编码还是要尽量规范点
给你们java支持的语言例子:
packagelangue;
importjava.util.locale;
publicclasssupportlangu{
publicstaticvoidmain(string[]args){
//返回java所支持的全部国家和语言的数组
locale[]localelist=locale.getavailablelocales();
//遍历数组的每个元素,依次获取所支持的国家和语言
for(inti=0;i
{
//打印出所支持的国家和语言
system.out.println(i+""+localelist[i].getdisplaycountry()+"="+
localelist[i].getcountry()+""+localelist[i].getdisplaylanguage()
+"="+localelist[i].getlanguage());
}
}
}
3,我这例子类和配置文件是放在同一个目录下,不放一起也可以,改下路径
大家别纠结那语言是不是对应的文字,我也只认识中文和英文。
附上界面结果: