Java GUI多國(guó)語(yǔ)言動(dòng)態(tài)切換_第1頁(yè)
Java GUI多國(guó)語(yǔ)言動(dòng)態(tài)切換_第2頁(yè)
Java GUI多國(guó)語(yǔ)言動(dòng)態(tài)切換_第3頁(yè)
Java GUI多國(guó)語(yǔ)言動(dòng)態(tài)切換_第4頁(yè)
Java GUI多國(guó)語(yǔ)言動(dòng)態(tài)切換_第5頁(yè)
已閱讀5頁(yè),還剩16頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、上來(lái)就給源碼,這就是我做事風(fēng)格package langue;/* * author HDSSHTLL */import javax.swing.JRadioButtonMenuItem;import javax.swing.SwingUtilities;public class NewJFrame extends javax.swing.JFrame private static java.util.ResourceBundle resources= java.util.ResourceBundle.getBundle("langue/softwareResources")

2、; public NewJFrame() initComponents(); private void initComponents() jLabel1 = new javax.swing.JLabel(); jTextField1 = new javax.swing.JTextField(); jLabel2 = new javax.swing.JLabel(); jTextField2 = new javax.swing.JTextField(); jButton1 = new javax.swing.JButton(); jButton2 = new javax.swing.JButto

3、n(); jMenuBar1 = new javax.swing.JMenuBar(); jMenu1 = new javax.swing.JMenu(); jRadioButtonMenuItem1 = new JRadioButtonMenuItem(); jRadioButtonMenuItem2 = new JRadioButtonMenuItem(); jRadioButtonMenuItem3 =new JRadioButtonMenuItem(); jRadioButtonMenuItem4=new JRadioButtonMenuItem(); jRadioButtonMenu

4、Item5=new JRadioButtonMenuItem(); setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); jMenu1.setText("File"); /英語(yǔ) jRadioButtonMenuItem1.setText("English"); jRadioButtonMenuItem1.addActionListener(new java.awt.event.ActionListener() public void actionPerformed(jav

5、a.awt.event.ActionEvent evt) jRadioButtonMenuItem2.setSelected(false); jRadioButtonMenuItem3.setSelected(false); jRadioButtonMenuItem4.setSelected(false); jRadioButtonMenuItem5.setSelected(false); resources=java.util.ResourceBundle.getBundle("langue/softwareResources",java.util.Locale.ENGL

6、ISH); updateLabel(); ); jMenu1.add(jRadioButtonMenuItem1); /法語(yǔ) jRadioButtonMenuItem3.setText("france"); jRadioButtonMenuItem3.addActionListener(new java.awt.event.ActionListener() public void actionPerformed(java.awt.event.ActionEvent evt) jRadioButtonMenuItem2.setSelected(false); jRadioBu

7、ttonMenuItem1.setSelected(false); jRadioButtonMenuItem4.setSelected(false); jRadioButtonMenuItem5.setSelected(false); resources=java.util.ResourceBundle.getBundle("langue/softwareResources",java.util.Locale.FRANCE); updateLabel(); ); jMenu1.add(jRadioButtonMenuItem3); /韓語(yǔ) jRadioButtonMenuI

8、tem4.setText("KOREA"); jRadioButtonMenuItem4.addActionListener(new java.awt.event.ActionListener() public void actionPerformed(java.awt.event.ActionEvent evt) jRadioButtonMenuItem2.setSelected(false); jRadioButtonMenuItem1.setSelected(false); jRadioButtonMenuItem3.setSelected(false); jRadi

9、oButtonMenuItem5.setSelected(false); resources=java.util.ResourceBundle.getBundle("langue/softwareResources",java.util.Locale.KOREA); updateLabel(); ); jMenu1.add(jRadioButtonMenuItem4); /泰文 jRadioButtonMenuItem5.setText("Thai"); jRadioButtonMenuItem5.addActionListener(new java.a

10、wt.event.ActionListener() public void actionPerformed(java.awt.event.ActionEvent evt) jRadioButtonMenuItem2.setSelected(false); jRadioButtonMenuItem1.setSelected(false); jRadioButtonMenuItem3.setSelected(false); jRadioButtonMenuItem4.setSelected(false); resources=java.util.ResourceBundle.getBundle(&

11、quot;langue/softwareResources_th"); updateLabel(); ); jMenu1.add(jRadioButtonMenuItem5); /中文 jRadioButtonMenuItem2.setSelected(true); jRadioButtonMenuItem2.setText("Chinese"); jRadioButtonMenuItem2.addActionListener(new java.awt.event.ActionListener() public void actionPerformed(java.

12、awt.event.ActionEvent evt) jRadioButtonMenuItem1.setSelected(false); jRadioButtonMenuItem3.setSelected(false); jRadioButtonMenuItem4.setSelected(false); jRadioButtonMenuItem5.setSelected(false); resources=java.util.ResourceBundle.getBundle("langue/softwareResources",java.util.Locale.CHINA)

13、; updateLabel(); ); jMenu1.add(jRadioButtonMenuItem2); jMenuBar1.add(jMenu1); setJMenuBar(jMenuBar1); updateLabel(); setLayOut(); this.setLocationRelativeTo(null); pack(); private void setLayOut() javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane(); getContentPane().setLayo

14、ut(layout); layout.setHorizontalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addContainerGap() .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addGroup(

15、layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) .addGroup(layout.createSequentialGroup() .addComponent(jLabel1) .addGap(18, 18, 18) .addComponent(jTextField1, javax.swing.GroupLayout.DEFAULT_SIZE, 159, Short.MAX_VALUE) .addGroup(layout.createSequentialGroup() .addCompone

16、nt(jLabel2) .addGap(18, 18, 18) .addComponent(jTextField2) .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addGroup(layout.createSequentialGroup() .addGap(13, 13, 13) .addComponent(jButton1) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 34, Short.MAX_V

17、ALUE) .addComponent(jButton2) .addGap(56, 56, 56) ); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addContainerGap() .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addCompone

18、nt(jLabel1) .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.B

19、ASELINE) .addComponent(jLabel2) .addComponent(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.GroupLayout.Alignment.BASELINE) .addComponent(jButton1

20、) .addComponent(jButton2) .addContainerGap(19, Short.MAX_VALUE) ); private void updateLabel() jLabel1.setText(resources.getString("Label_Text_Name"); jLabel2.setText(resources.getString("Label_Text_Class"); jButton1.setText(resources.getString("Button_Label_Sure"); jBut

21、ton2.setText(resources.getString("Button_Label_cancel"); jMenu1.setText(resources.getString("jMenu_text_file"); public static void main(String args) SwingUtilities.invokeLater(new Runnable() public void run() new NewJFrame().setVisible(true);); private javax.swing.JButton jButton

22、1; private javax.swing.JButton jButton2; private javax.swing.JLabel jLabel1; private javax.swing.JLabel jLabel2; private javax.swing.JMenu jMenu1; private javax.swing.JMenu jMenu2; private javax.swing.JMenuBar jMenuBar1; private javax.swing.JRadioButtonMenuItem jRadioButtonMenuItem1; private javax.s

23、wing.JRadioButtonMenuItem jRadioButtonMenuItem2; private javax.swing.JRadioButtonMenuItem jRadioButtonMenuItem3; private javax.swing.JRadioButtonMenuItem jRadioButtonMenuItem4; private javax.swing.JRadioButtonMenuItem jRadioButtonMenuItem5; private javax.swing.JTextField jTextField1; private javax.s

24、wing.JTextField jTextField2; 附上幾個(gè)配置文件softwareResources_perties 英文Button_Label_Sure=Sure Button_Label_cancel=cancel Label_Text_Name=NameLabel_Text_Class=ClassjMenu_text_file=filesoftwareResources_zh_CN.properties 中文Button_Label_Sure=u786eu5b9a Button_Label_cancel=u53d6u6d88 Label_Text_Name=u59d

25、3u540d Label_Text_Class=u73edu7ea7jMenu_text_file=u6587u4EF6softwareResources_ko_KR.properties 韓文Button_Label_Sure=uBB3CuB860 uC774uC8E0 Button_Label_cancel=uCDE8uC18C Label_Text_Name=uC774uB984Label_Text_Class=uD074uB798uC2A4jMenu_text_file=uD30CuC77C剩下兩個(gè)配置文件你們用google翻譯去softwareResources_fr_FR.prop

26、ertiessoftwareResources_perties給大家分享下我學(xué)習(xí)中遇到的問(wèn)題1,配置文件不顯示英文外的其它文字這是編碼問(wèn)題,沒多大關(guān)系。如果你實(shí)在受不了這種方式可以去下載插件,具體可以google.2,為什么泰文讀配置文件這樣寫resources=java.util.ResourceBundle.getBundle("langue/softwareResources_th") 而其它像韓文這樣寫resources=java.util.ResourceBundle.getBundle("langue/softwareResources&q

27、uot;,java.util.Locale.KOREA); 我為什么這樣寫呢,就是因?yàn)長(zhǎng)ocale僅點(diǎn)的出來(lái)幾個(gè)國(guó)家/地區(qū),沒有泰語(yǔ)按照規(guī)范應(yīng)該寫成韓文這樣的。Locale.KOREA 其實(shí)打印出來(lái)是 ko_KR所以它的配置文件就是 softwareResources_ko_KR.properties,如果懶點(diǎn)就直接寫成resources=java.util.ResourceBundle.getBundle("langue/softwareResources_ko_KR"); 不過(guò)對(duì)于編碼還是要盡量規(guī)范點(diǎn)給你們Java支持的語(yǔ)言例子:package langue;impor

28、t java.util.Locale;public class supportlangupublic static void main(String args)/返回Java所支持的全部國(guó)家和語(yǔ)言的數(shù)組Locale localeList = Locale.getAvailableLocales();/遍歷數(shù)組的每個(gè)元素,依次獲取所支持的國(guó)家和語(yǔ)言for (int i = 0; i < localeList.length ; i+ )/打印出所支持的國(guó)家和語(yǔ)言System.out.println(i+" "+localeListi.getDisplayCountry()

29、 + "=" + localeListi.getCountry()+ " " + localeListi.getDisplayLanguage() + "=" + localeListi.getLanguage();3,我這例子類和配置文件是放在同一個(gè)目錄下,不放一起也可以,改下路徑大家別糾結(jié)那語(yǔ)言是不是對(duì)應(yīng)的文字,我也只認(rèn)識(shí)中文和英文。附上界面結(jié)果:java中如何實(shí)現(xiàn)多語(yǔ)言切換一、國(guó)際化開發(fā)概述軟件的國(guó)際化:軟件開發(fā)時(shí),要使它能同時(shí)應(yīng)對(duì)世界不同地區(qū)和國(guó)家的訪問(wèn),并針對(duì)不同地區(qū)和國(guó)家的訪問(wèn),提供相應(yīng)的、符合來(lái)訪者閱讀習(xí)慣的頁(yè)面或數(shù)據(jù)。

30、國(guó)際化(internationalization)又稱為 i18n(讀法為i 18 n,據(jù)說(shuō)是因?yàn)閕nternationalization(國(guó)際化)這個(gè)單詞從i到n之間有18個(gè)英文字母,i18n的名字由此而來(lái))二、合格的國(guó)際化軟件軟件實(shí)現(xiàn)國(guó)際化,需具備以下兩個(gè)特征:1、對(duì)于程序中固定使用的文本元素,例如菜單欄、導(dǎo)航條等中使用的文本元素、或錯(cuò)誤提示信息,狀態(tài)信息等,需要根據(jù)來(lái)訪者的地區(qū)和國(guó)家,選擇不同語(yǔ)言的文本為之服務(wù)。2、對(duì)于程序動(dòng)態(tài)產(chǎn)生的數(shù)據(jù),例如(日期,貨幣等),軟件應(yīng)能根據(jù)當(dāng)前所在的國(guó)家或地區(qū)的文化習(xí)慣進(jìn)行顯示。三、固定文本元素的國(guó)際化對(duì)于軟件中的菜單欄、導(dǎo)航條、錯(cuò)誤提示信息,狀態(tài)信息等

31、這些固定不變的文本信息,可以把它們寫在一個(gè)properties文件中,并根據(jù)不同的國(guó)家編寫不同的properties文件。這一組properties文件稱之為一個(gè)資源包。3.1、創(chuàng)建資源包和資源文件一個(gè)資源包中的每個(gè)資源文件都必須擁有共同的基名。除了基名,每個(gè)資源文件的名稱中還必須有標(biāo)識(shí)其本地信息的附加部分。例如:一個(gè)資源包的基名是“myproperties”,則與中文、英文環(huán)境相對(duì)應(yīng)的資源文件名則為: "myproperties_perties"  "myproperties_perties"每個(gè)資源包都應(yīng)有一個(gè)默認(rèn)資

32、源文件,這個(gè)文件不帶有標(biāo)識(shí)本地信息的附加部分。若ResourceBundle對(duì)象在資源包中找不到與用戶匹配的資源文件,它將選擇該資源包中與用戶最相近的資源文件,如果再找不到,則使用默認(rèn)資源文件。例如:perties3.2、資源文件的書寫格式資源文件的內(nèi)容通常采用"關(guān)鍵字值"的形式,軟件根據(jù)關(guān)鍵字檢索值顯示在頁(yè)面上。一個(gè)資源包中的所有資源文件的關(guān)鍵字必須相同,值則為相應(yīng)國(guó)家的文字。并且資源文件中采用的是properties格式文件,所以文件中的所有字符都必須是ASCII字碼,屬性(properties)文件是不能保存中文的,對(duì)于像中文這樣的非A

33、CSII字符,須先進(jìn)行編碼。例如:國(guó)際化的中文環(huán)境的properties文件國(guó)際化的英文環(huán)境的properties文件java提供了一個(gè)native2ascII工具用于將中文字符進(jìn)行編碼處理,native2ascII的用法如下所示:3.3、編程實(shí)現(xiàn)固定文本的國(guó)際化在JavaAPI中提供了一個(gè)ResourceBundle 類用于描述一個(gè)資源包,并且 ResourceBundle類提供了相應(yīng)的方法getBundle,這個(gè)方法可以根據(jù)來(lái)訪者的國(guó)家地區(qū)自動(dòng)獲取與之對(duì)應(yīng)的資源文件予以顯示。ResourceBundle類提供了一個(gè)靜態(tài)方法getBundle,該方法用于裝載資源文件,并創(chuàng)建ResourceB

34、undle實(shí)例:Locale currentLocale = Locale.getDefault();ResourceBundle myResources =ResourceBundle.getBundle(basename, currentLocale);basename為資源包基名(且必須為完整路徑)。如果與該locale對(duì)象匹配的資源包子類找不到。一般情況下,則選用默認(rèn)資源文件予以顯示。 加載資源文件后, 程序就可以調(diào)用ResourceBundle 實(shí)例對(duì)象的 getString 方法獲取指定的資源信息名稱所對(duì)應(yīng)的值。

35、String value =  myResources.getString(“key");范例:根據(jù)國(guó)家地區(qū)自動(dòng)獲取與之對(duì)應(yīng)的資源文件package me.gacl.i18n;import java.util.Locale;import java.util.ResourceBundle;/* ClassName: I18NTest* Description: 編程實(shí)現(xiàn)固定文本的國(guó)際化* author: 孤傲蒼狼* date: 2014-

36、8-29 下午9:34:05*/ public class I18NTest     public static void main(String args)         /資源包基名(包名+myproperties)        String basename =

37、0;"me.gacl.i18n.resource.myproperties"        /設(shè)置語(yǔ)言環(huán)境        Locale cn = Locale.CHINA;/中文        Locale us = Locale.US;/英文   

38、     /根據(jù)基名和語(yǔ)言環(huán)境加載對(duì)應(yīng)的語(yǔ)言資源文件        ResourceBundle myResourcesCN = ResourceBundle.getBundle(basename,cn);/加載myproperties_perties        ResourceBundle myResourcesUS =

39、 ResourceBundle.getBundle(basename,us);/加載myproperties_perties                /加載資源文件后, 程序就可以調(diào)用ResourceBundle實(shí)例對(duì)象的 getString方法獲取指定的資源信息名稱所對(duì)應(yīng)的值。        /String&

40、#160;value =  myResources.getString(“key");        String usernameCN = myResourcesCN.getString("username");        String passwordCN = myResourcesCN.getString(&

41、quot;password");                String usernameUS = myResourcesUS.getString("username");        String passwordUS = myResourcesUS.getSt

42、ring("password");                System.out.println(usernameCN+"-"+passwordCN);        System.out.println(usernameUS+"-"+passwordUS);   

43、; 運(yùn)行結(jié)果:3.4、在WEB應(yīng)用中實(shí)現(xiàn)固定文本的國(guó)際化如下所示:<% page language="java"  import="java.util.*" pageEncoding="UTF-8"%><!DOCTYPE HTML><html>  <head>    <title>國(guó)際化(i18n)測(cè)試</title> 

44、60;</head>  <%      /加載i18n資源文件,request.getLocale()獲取訪問(wèn)用戶所在的國(guó)家地區(qū)      ResourceBundle myResourcesBundle = ResourceBundle.getBundle("me.gacl.i18n.resource.myproperties",request.getLocale(); 

45、60;%>  <body>        <form action="" method="post">            <%=myResourcesBundle.getString("username")%>:<input type=&

46、quot;text" name="username"/><br/>            <%=myResourcesBundle.getString("password")%>:<input type="password" name="password"/><br/>   

47、         <input type="submit" value="<%=myResourcesBundle.getString("submit")%>">        </form>  </body></html>運(yùn)行結(jié)果:瀏覽器語(yǔ)言是中文環(huán)境下的顯示效果:瀏

48、覽器語(yǔ)言是英文環(huán)境下的顯示效果:同樣一個(gè)頁(yè)面,在不同語(yǔ)言環(huán)境的瀏覽器下顯示出了不同的語(yǔ)言文字效果,這樣就實(shí)現(xiàn)了固定文本的國(guó)際化。IE瀏覽器切換使用語(yǔ)言:工具Internet選項(xiàng)四、動(dòng)態(tài)數(shù)據(jù)的國(guó)際化數(shù)值,貨幣,時(shí)間,日期等數(shù)據(jù)由于可能在程序運(yùn)行時(shí)動(dòng)態(tài)產(chǎn)生,所以無(wú)法像文字一樣簡(jiǎn)單地將它們從應(yīng)用程序中分離出來(lái),而是需要特殊處理。Java 中提供了解決這些問(wèn)題的 API 類(位于 java.util 包和 java.text 包中)4.1、Locale 類Locale 實(shí)例對(duì)象代表一個(gè)特定的地理,政治、文化區(qū)域。一個(gè) Locale 對(duì)象本身不會(huì)驗(yàn)證它代表的語(yǔ)言和國(guó)家地區(qū)信息是否正確,只是向本地敏感的類

49、提供國(guó)家地區(qū)信息,與國(guó)際化相關(guān)的格式化和解析任務(wù)由本地敏感的類去完成。(若JDK中的某個(gè)類在運(yùn)行時(shí)需要根據(jù) Locale 對(duì)象來(lái)調(diào)整其功能,這個(gè)類就稱為本地敏感類)4.2、DateFormat類(日期格式化)DateFormat 類可以將一個(gè)日期/時(shí)間對(duì)象格式化為表示某個(gè)國(guó)家地區(qū)的日期/時(shí)間字符串。DateFormat 類除了可按國(guó)家地區(qū)格式化輸出日期外,它還定義了一些用于描述日期/時(shí)間的顯示模式的 int 型的常量,包括FULL, LONG, MEDIUM, DEFAULT, SHORT,實(shí)例化DateFormat對(duì)象時(shí),可以使用這些常量,控制日期/時(shí)間的顯示長(zhǎng)度。4.2.1、實(shí)例化Date

50、Format類實(shí)例化DateFormat類有九種方式,以下三種為帶參形式,下面列出的三種方式也可以分別不帶參,或只帶顯示樣式的參數(shù)。getDateInstance(int style, Locale aLocale):以指定的日期顯示模式和本地信息來(lái)獲得DateFormat實(shí)例對(duì)象,該實(shí)例對(duì)象不處理時(shí)間值部分。getTimeInstance(int style, Locale aLocale):以指定的時(shí)間顯示模式和本地信息來(lái)獲得DateFormat實(shí)例對(duì)象,該實(shí)例對(duì)象不處理日期值部分。getDateTimeInstance(int dateStyle, int timeStyle, Loca

51、le aLocale):以單獨(dú)指定的日期顯示模式、時(shí)間顯示模式和本地信息來(lái)獲得DateFormat實(shí)例對(duì)象。4.2.2、DateFormat 對(duì)象的方法format:將date對(duì)象格式化為符合某個(gè)本地環(huán)境習(xí)慣的字符串。parse:將字符串解析為日期/時(shí)間對(duì)象注意:parse和format完全相反,一個(gè)是把date時(shí)間轉(zhuǎn)化為相應(yīng)地區(qū)和國(guó)家的顯示樣式,一個(gè)是把相應(yīng)地區(qū)的時(shí)間日期轉(zhuǎn)化成date對(duì)象,該方法在使用時(shí),解析的時(shí)間或日期要符合指定的國(guó)家、地區(qū)格式,否則會(huì)拋異常。DateFormat 對(duì)象通常不是線程安全的,每個(gè)線程都應(yīng)該創(chuàng)建自己的 DateFormat  實(shí)例對(duì)象4.2.3、Da

52、teFormat使用范例package me.gacl.i18n;import java.text.DateFormat;import java.text.ParseException;import java.util.Date;import java.util.Locale;/* ClassName: DateFormatTest* Description: DateFormat類測(cè)試* DateFormat類可以將一個(gè)日期/時(shí)間對(duì)象格式化為表示某個(gè)國(guó)家地區(qū)的日期/時(shí)間字符串* au

53、thor: 孤傲蒼狼* date: 2014-8-29 下午10:03:26*/ public class DateFormatTest     public static void main(String args) throws ParseException         Date date =

54、0;new Date(); / 當(dāng)前這一刻的時(shí)間(日期、時(shí)間)        / 輸出日期部分        DateFormat df = DateFormat.getDateInstance(DateFormat.FULL,Locale.GERMAN);        String&#

55、160;result = df.format(date);        System.out.println(result);        / 輸出時(shí)間部分        df = DateFormat.getTimeInstance(DateFormat.FULL, Locale.CHINA)

56、;        result = df.format(date);        System.out.println(result);        / 輸出日期和時(shí)間        df = DateFormat.getDa

57、teTimeInstance(DateFormat.SHORT, DateFormat.LONG,Locale.CHINA);        result = df.format(date);        System.out.println(result);        / 把字符串反向解析成一個(gè)date對(duì)象&#

58、160;       String s = "10-9-26 下午02時(shí)49分53秒"        df = DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.LONG,Locale.CHINA);       

59、60;Date d = df.parse(s);        System.out.println(d);    4.3、NumberFormat類(數(shù)字格式化)NumberFormat類可以將一個(gè)數(shù)值格式化為符合某個(gè)國(guó)家地區(qū)習(xí)慣的數(shù)值字符串,也可以將符合某個(gè)國(guó)家地區(qū)習(xí)慣的數(shù)值字符串解析為對(duì)應(yīng)的數(shù)值NumberFormat類的方法:format 方法:將一個(gè)數(shù)值格式化為符合某個(gè)國(guó)家地區(qū)習(xí)慣的數(shù)值字符串parse 方法:將符合某個(gè)國(guó)家地區(qū)習(xí)慣的數(shù)

60、值字符串解析為對(duì)應(yīng)的數(shù)值。實(shí)例化NumberFormat類時(shí),可以使用locale對(duì)象作為參數(shù),也可以不使用,下面列出的是使用參數(shù)的。getNumberInstance(Locale locale):以參數(shù)locale對(duì)象所標(biāo)識(shí)的本地信息來(lái)獲得具有多種用途的NumberFormat實(shí)例對(duì)象getIntegerInstance(Locale locale):以參數(shù)locale對(duì)象所標(biāo)識(shí)的本地信息來(lái)獲得處理整數(shù)的NumberFormat實(shí)例對(duì)象getCurrencyInstance(Locale locale):以參數(shù)locale對(duì)象所標(biāo)識(shí)的本地信息來(lái)獲得處理貨幣的NumberFormat實(shí)例對(duì)象

61、getPercentInstance(Locale locale):以參數(shù)locale對(duì)象所標(biāo)識(shí)的本地信息來(lái)獲得處理百分比數(shù)值的NumberFormat實(shí)例對(duì)象范例:package me.gacl.i18n;import java.text.NumberFormat;import java.text.ParseException;import java.util.Locale;/* ClassName: NumberFormatTest* Description: NumberFormat類測(cè)試* aut

62、hor: 孤傲蒼狼* date: 2014-8-29 下午10:25:29*/ public class NumberFormatTest     public static void main(String args) throws ParseException         int price = 89;        NumberFormat nf = NumberFormat.getCurrencyInstance(Locale.CHINA);        String result =

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論