日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產(chǎn)品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
JavaSE的MV模式(國際化)

一、簡介

創(chuàng)新互聯(lián)建站是一家專業(yè)提供大興企業(yè)網(wǎng)站建設,專注與做網(wǎng)站、成都網(wǎng)站制作、HTML5建站、小程序制作等業(yè)務。10年已為大興眾多企業(yè)、政府機構等服務。創(chuàng)新互聯(lián)專業(yè)的建站公司優(yōu)惠進行中。

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

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

另外:

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

我得反駁下這一個說法。

大家都熟知的我們在寫 web 項目的時候通常都在使用 MVC 模式的開發(fā),為什么 ~ ,那是具有一個巨大的有點,功能應用,圖形顯示,邏輯結構都分開了,利于維護,利于分工。

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

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

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

二、國際化的步驟

1 、實現(xiàn)國際的程序

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

3 、裝載 properties

4 、裝載對應的 key

三、具體實現(xiàn)

1 、實現(xiàn)國際的程序

先寫一個簡單的 JavaSE 程序,由于這個相對與本文不是重點,這個就不羅嗦了。

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

簡單說明: property 文件 就是一個數(shù)據(jù)信息的文件,

具體為格式為: 參數(shù) = 對應值

有點類似我們的 map 對應關系

比如我們已經(jīng)實現(xiàn)了一個 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 ;//設置文件     
  2.     
  3.     
  4.     
  5. /**    
  6.    
  7.  * 構造方法,載入properties    
  8.    
  9.  */    
  10.     
  11. public international(){     
  12.     
  13.     prop = new Properties();// 屬性集合對象      
  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();// 關閉流      
  26.     
  27.    } catch (Exception e) {     
  28.     
  29.        e.printStackTrace();     
  30.     
  31.    }     
  32.     
  33. }    

#p#

4 、裝載對應的 key

Java代碼

 
 
 
 
  1. /**    
  2.      * 顯示界面    
  3.      */    
  4.     public void showUI(){     
  5.     
  6.        //設置大小     
  7.     
  8.        this.setSize(400,300);     
  9.     
  10.        this.setTitle(prop.getProperty("title","中文"));//設置默認值為"中文"     
  11.     
  12.        this.setLayout(new java.awt.FlowLayout());     
  13.  
  14.        javax.swing.JButton jb =  new javax.swing.JButton(prop.getProperty("button","我的按鈕"));//設置默認值為"我的按鈕"     
  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 注釋后,和沒有注視的效果

注釋后:

沒注釋:

當然 , 如果我們載入的是一個鳥語的話 ,

即 :

寫好鳥語的 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");  

即可

四、分析

顯然,這么以來,邏輯結構和視圖結構基本就能分開了。版本翻譯,維護,分工相對以前都比較方便了。同一個模式的來學習 , 現(xiàn)在的主流模式 , 之后學習 web,android 什么的 , 都會相對于比較方便了 .


本文題目:JavaSE的MV模式(國際化)
網(wǎng)站URL:http://m.5511xx.com/article/ccspsee.html