NetBeans国际化功能(二)
时间:2011-07-20
Java编程语言是第一个被设计成为全面支持国际化的语言,从一开始,他就具备进行有效的国际化所必须的一个特性:使用Unicode来处理所有字符串。支持Unicode使得在Java编程语言下,编写程序来操作多种语言的字符串变得非常的方便。如今NetBeans的出现再次帮我们减轻了国际化的工作量真是太棒了!
好了回归正题,接着上次的国际化话题,上次只是演示了NetBeans中一些国际化功能,这次讲讲其它的功能,首先看看下面的几幅图
NetBeans国际化功能(二)(2)
时间:2011-07-20
大家可以看到在不同的DesignLocale里可以有不同的视图这样很方便,你可以在自己熟悉的语言环境下先写好自己的程序,然后在进行国际化,前提是你要先添加自己的locale,或者添加你想要国际化为另一种的语言具体可以看我的上一篇文章NetBeans国际化功能(一)
还有就是如果你只是想让自己的应用程序只显示一种语言可以不用改操作系统的语言,,在main的第一句加个Locale.setDefault("这里填写你想要的语言");以后程序运行的就是你设置的语言了(本人不建议这样做)。看下面的截图,可以有好多的选择
国际化,并不是仅仅将界面进行翻译一下就可以了,还要考虑到时间的国际化,以及数值表的国际化等等。下图显示了国际化的一些选项,你可以关闭或者打开国际化功能。
NetBeans国际化功能(二)(3)
时间:2011-07-20
今天先讲数值的国际化:
关于不同地区的数值表示的国际化请看下面的代码
import java.awt.*;
import java.awt.event.*;
import java.text.*;
import java.util.*;
import javax.swing.*;
/**
*
* @author Administrator
*/
public class NumberFormatTest {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
JFrame frame = new NumberFormatFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}
class NumberFormatFrame extends JFrame {
public NumberFormatFrame() {
setTitle("NumberFormatTest");
setLayout(new GridBagLayout());
//定义一个事件******
ActionListener listener = new ActionListener() {
public void actionPerformed(ActionEvent e) {
updateDisplay();
}
};
JPanel p = new JPanel();
addRadioButton(p, numberRadioButton, rbGroup, listener);
addRadioButton(p, currencyRadioButton, rbGroup, listener);
addRadioButton(p, percentRadioButton, rbGroup, listener);
add(new JLabel("Local:"), new GBC(0, 0).setAnchor(GBC.EAST));
add(p, new GBC(1, 1));
add(parseButton, new GBC(0, 2).setInsets(2));
add(localeCombo, new GBC(1, 0).setAnchor(GBC.WEST));
add(numberText, new GBC(1, 2).setFill(GBC.HORIZONTAL));
//取得可以使用的locale,比显示它们的名字
locales = NumberFormat.getAvailableLocales();
for(Locale loc : locales)
localeCombo.addItem(loc.getDisplayName());
localeCombo.setSelectedItem(Locale.getDefault().getDisplayName());
currentNumber = 123456.78;
updateDisplay();
localeCombo
|