偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

JavaSE的MV模式(國(guó)際化)

開發(fā) 后端
Java 作為一個(gè)跨平臺(tái)的東西,如果想著自己的產(chǎn)品推向世界, Java 實(shí)現(xiàn)國(guó)際化,在現(xiàn)在現(xiàn)在編程工程上是必不可少的了。

一、簡(jiǎn)介

國(guó)際化( internationalization )是設(shè)計(jì)和制造容易適應(yīng)不同區(qū)域要求的產(chǎn)品的一種方式。它要求從產(chǎn)品中抽離所有的與語(yǔ)言,國(guó)家/地區(qū)和文化相關(guān)的元素。換言之, 應(yīng)用程序 的功能和代碼設(shè)計(jì)考慮在不同地區(qū)運(yùn)行的需要,其代碼簡(jiǎn)化了不同本地版本的生產(chǎn)。開發(fā)這樣的程序的過(guò)程,就稱為國(guó)際化。

Java 作為一個(gè)跨平臺(tái)的東西,如果想著自己的產(chǎn)品推向世界, Java 實(shí)現(xiàn)國(guó)際化,在現(xiàn)在現(xiàn)在編程工程上是必不可少的了。

另外:

再說(shuō),很多童鞋都說(shuō)我們縮寫的應(yīng)用軟件都基本談不上國(guó)際化,基本能在國(guó)內(nèi)使用已經(jīng)很了不起了。

我得反駁下這一個(gè)說(shuō)法。

大家都熟知的我們?cè)趯?web 項(xiàng)目的時(shí)候通常都在使用 MVC 模式的開發(fā),為什么 ~ ,那是具有一個(gè)巨大的有點(diǎn),功能應(yīng)用,圖形顯示,邏輯結(jié)構(gòu)都分開了,利于維護(hù),利于分工。

那么我們就應(yīng)該想到,如果這一個(gè)模式也應(yīng)用的 JavaSE 上面的畫,我們之前所學(xué)的東西不都具有這些優(yōu)點(diǎn)了嗎?不能說(shuō)完全的是,也不能說(shuō)完全的沒有。

做過(guò) android 項(xiàng)目開發(fā)的童鞋相對(duì)都有那么一定的經(jīng)驗(yàn)。寫每一個(gè) activity 的時(shí)候,基本都要在 string 中載入他們每一個(gè)控件所對(duì)應(yīng)的值。

好,那我們就看看在 JavaSE 上面的具體操作把。大家感受感受。

二、國(guó)際化的步驟

1 、實(shí)現(xiàn)國(guó)際的程序

2 、實(shí)現(xiàn)國(guó)際化的參數(shù)文件 property

3 、裝載 properties

4 、裝載對(duì)應(yīng)的 key

三、具體實(shí)現(xiàn)

1 、實(shí)現(xiàn)國(guó)際的程序

先寫一個(gè)簡(jiǎn)單的 JavaSE 程序,由于這個(gè)相對(duì)與本文不是重點(diǎn),這個(gè)就不羅嗦了。

2 、實(shí)現(xiàn)國(guó)際化的參數(shù)文件 property

簡(jiǎn)單說(shuō)明: property 文件 就是一個(gè)數(shù)據(jù)信息的文件,

具體為格式為: 參數(shù) = 對(duì)應(yīng)值

有點(diǎn)類似我們的 map 對(duì)應(yīng)關(guān)系

比如我們已經(jīng)實(shí)現(xiàn)了一個(gè) Properties

En.properties

內(nèi)容為:

Java代碼

  1. title = english     
  2.     
  3. button  = my_button     
  4.     
  5. logo = bin/qq.gif  

 

3 、裝載 properties

在我們的程序中載入就可以

Java代碼

  1. Properties prop ;//設(shè)置文件     
  2.     
  3.     
  4.     
  5. /**    
  6.    
  7.  * 構(gòu)造方法,載入properties    
  8.    
  9.  */    
  10.     
  11. public international(){     
  12.     
  13.     prop = new Properties();// 屬性集合對(duì)象      
  14.     
  15.     FileInputStream fis = null;     
  16.     
  17.         
  18.     
  19.    try {     
  20.     
  21.        fis = new FileInputStream("src/en.properties");     
  22.     
  23.        prop.load(fis);//載入     
  24.     
  25.        fis.close();// 關(guān)閉流      
  26.     
  27.    } catch (Exception e) {     
  28.     
  29.        e.printStackTrace();     
  30.     
  31.    }     
  32.     
  33. }    

#p#

4 、裝載對(duì)應(yīng)的 key

Java代碼

  1. /**    
  2.      * 顯示界面    
  3.      */    
  4.     public void showUI(){     
  5.     
  6.        //設(shè)置大小     
  7.     
  8.        this.setSize(400,300);     
  9.     
  10.        this.setTitle(prop.getProperty("title","中文"));//設(shè)置默認(rèn)值為"中文"     
  11.     
  12.        this.setLayout(new java.awt.FlowLayout());     
  13.  
  14.        javax.swing.JButton jb =  new javax.swing.JButton(prop.getProperty("button","我的按鈕"));//設(shè)置默認(rèn)值為"我的按鈕"     
  15.     
  16.        this.add(jb);     
  17.  
  18.        javax.swing.JLabel logo  = new javax.swing.JLabel();     
  19.     
  20.        logo.setIcon(new ImageIcon(prop.getProperty("logo","bin/360.png")));     
  21.     
  22.        this.add(logo);     
  23.     
  24.        this.setVisible(true);     
  25.     
  26.     }    

 

好我們看看裝載前,裝載后的效果。

即,將步驟 1 注釋后,和沒有注視的效果

注釋后:

 

 

沒注釋:

 

 

當(dāng)然 , 如果我們載入的是一個(gè)鳥語(yǔ)的話 ,

即 :

寫好鳥語(yǔ)的 properties 文件

Java代碼

  1. title = bird languange     
  2.     
  3. button  = bird_button     
  4.     
  5. logo = bin/bird.jpg  

 

只需將

Java代碼

  1. fis = new FileInputStream("src/en.properties");  

 

改為 :

Java代碼

  1. fis = new FileInputStream("src/bird.properties");  

 

即可

 

 

四、分析

顯然,這么以來(lái),邏輯結(jié)構(gòu)和視圖結(jié)構(gòu)基本就能分開了。版本翻譯,維護(hù),分工相對(duì)以前都比較方便了。同一個(gè)模式的來(lái)學(xué)習(xí) , 現(xiàn)在的主流模式 , 之后學(xué)習(xí) web,android 什么的 , 都會(huì)相對(duì)于比較方便了 .

【編輯推薦】

  1. Java ME沒有死 它只是退居二線了
  2. 淺談Java SE、Java EE、Java ME三者的區(qū)別
  3. 過(guò)山車式的經(jīng)歷 Windows Mobile未來(lái)何去何從
  4. iPhone軟件開發(fā)完美起步
  5. 月入40萬(wàn) iPhone中文應(yīng)用程序開發(fā)者訪談
責(zé)任編輯:金賀 來(lái)源: ITEYE博客
相關(guān)推薦

2015-03-13 09:50:46

2011-08-29 09:48:30

springMVC

2011-07-08 11:13:42

Cocoa Touch XCode

2010-03-02 16:44:59

CentOS Mono

2010-07-28 14:52:29

Flex國(guó)際化

2024-05-17 08:25:06

數(shù)據(jù)驅(qū)動(dòng)React語(yǔ)言包

2024-01-17 10:16:22

前端國(guó)際化消息鍵

2023-01-31 10:29:26

JavaScript國(guó)際化國(guó)際化庫(kù)

2010-01-04 13:09:51

Silverlight

2011-08-19 13:13:14

struts2Java

2009-06-25 16:04:30

2009-06-03 08:30:30

禚佳春法航華為

2024-01-04 08:16:34

Spring國(guó)際化標(biāo)準(zhǔn)

2009-01-19 09:06:31

gettextPHP國(guó)際化編程

2022-07-27 10:39:14

Spring代碼IDEA

2017-01-09 16:24:07

滴滴Android 端 App

2009-12-29 15:05:29

WPF支持國(guó)際化

2024-09-04 10:27:53

2009-02-04 15:04:13

2011-08-11 13:26:30

iPhoneNSLocalized
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)