首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

JavaSE MV 模式實作國際化(二):屬性檔載入與 UI 切換

     編輯:Java 相關知識

4. 載入對應的 Key 值

在建立好國際化屬性檔後,下一步便是於程式碼中讀取對應的鍵值,動態設定介面元件文字與圖片。以下範例展示如何在 showUI() 方法中透過 Properties 物件取得標題、按鈕文字與圖示路徑:

/** 顯示介面 */
public void showUI() {
    // 設定視窗大小
    this.setSize(400, 300);
    // 讀取標題,若找不到鍵值則預設為「中文」
    this.setTitle(prop.getProperty("title", "中文"));
    this.setLayout(new java.awt.FlowLayout());

    // 讀取按鈕文字,預設為「我的按鈕」
    javax.swing.JButton jb = new javax.swing.JButton(prop.getProperty("button", "我的按鈕"));
    this.add(jb);

    // 讀取圖示路徑,預設為 bin/360.png
    javax.swing.JLabel logo = new javax.swing.JLabel();
    logo.setIcon(new ImageIcon(prop.getProperty("logo", "bin/360.png")));
    this.add(logo);

    this.setVisible(true);
}

執行效果對比

我們可以觀察「註解掉屬性檔載入程式碼」與「正常載入」兩種情況下的介面差異:

未載入屬性檔(使用預設值)

正常載入屬性檔(顯示英文)

切換至自訂語言(鳥語範例)

若要支援其他語言,只需準備對應的 .properties 檔案。例如建立 bird.properties:

title = bird languange
button = bird_button
logo = bin/bird.jpg

並在程式中將輸入流指向新檔案:

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

執行結果將顯示自訂語言介面:

四、架構分析與優勢

透過 MV(Model-View)模式實作國際化,將邏輯結構與視圖資源徹底分離,帶來以下優勢:

  • 版本翻譯維護容易:新增語言只需增加屬性檔,無須修改程式碼。
  • 分工明確:開發人員專注邏輯,翻譯人員維護資源檔。
  • 擴展性高:相同模式可延伸至 Web、Android 等平台開發,學習曲線平緩。

掌握此模式不僅能解決國際化需求,更能建立良好的軟體架構思維,為後續學習主流框架打下基礎。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved