`
stchou
  • 浏览: 205192 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

JavaSE 的MV模式(国际化)

阅读更多

 

JavaSE MV 模式(国际化)

一、简介

国际化( internationalization )是设计和制造容易适应不同区域要求的产品的一种方式。它要求从产品中抽离所有的与语言,国家/地区和文化相关的元素。换言之, 应用程序 的功能和代码设计考虑在不同地区运行的需要,其代码简化了不同本地版本的生产。开发这样的程序的过程,就称为国际化。

Java 作为一个跨平台的东西,如果想着自己的产品推向世界, Java 实现国际化,在现在现在编程工程上是必不可少的了。

 

******************************** 猥琐分割线 *******************************

另外:

       再说,很多童鞋都说我们缩写的应用软件都基本谈不上国际化,基本能在国内使用已经很了不起了。

我得反驳下这一个说法。

大家都熟知的我们在写 web 项目的时候通常都在使用 MVC 模式的开发,为什么 ~ ,那是具有一个巨大的有点,功能应用,图形显示,逻辑结构都分开了,利于维护,利于分工。

那么我们就应该想到,如果这一个模式也应用的 JavaSE 上面的画,我们之前所学的东西不都具有这些优点了吗?不能说完全的是,也不能说完全的没有。

做过 android 项目开发的童鞋相对都有那么一定的经验。写每一个 activity 的时候,基本都要在 string 中载入他们每一个控件所对应的值。

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

 

二、国际化的步骤

  1 、实现国际的程序

  2 、实现国际化的参数文件 property

  3 、装载 properties

  4 、装载对应的 key

 

三、具体实现

1 、实现国际的程序

先写一个简单的 JavaSE 程序,由于这个相对与本文不是重点,这个就不罗嗦了。

      

2 、实现国际化的参数文件 property

简单说明: property 文件 就是一个数据信息的文件,

       具体为格式为:     参数   =  对应值

有点类似我们的 map 对应关系

 

 

比如我们已经实现了一个 Properties

En.properties

内容为:

 

title = english

button  = my_button

logo = bin/qq.gif
 

 

 

3 、装载 properties

 

在我们的程序中载入就可以

 

    Properties prop ;//设置文件

   

    /**

     * 构造方法,载入properties

     */

    public international(){

        prop = new Properties();// 属性集合对象 

        FileInputStream fis = null;

       

       try {

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

           prop.load(fis);//载入

           fis.close();// 关闭流 

       } catch (Exception e) {

           e.printStackTrace();

       }

    }
 

 

4 、装载对应的 key

  

/**

     * 显示界面

     */

    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);

      

       javax.swing.JLabel logo  = new javax.swing.JLabel();

       logo.setIcon(new ImageIcon(prop.getProperty("logo","bin/360.png")));

       this.add(logo);

      

       this.setVisible(true);

    }
 

 

好我们看看装载前,装载后的效果。

       即,将步骤 1 注释后,和没有注视的效果

 

注释后:


没注释:

 

 

当然 , 如果我们载入的是一个鸟语的话 ,

:

写好鸟语的 properties 文件

 

title = bird languange

button  = bird_button

logo = bin/bird.jpg
 

 

 

只需将

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

 

改为 :

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

 

即可


 

 

四、分析

       显然,这么以来,逻辑结构和视图结构基本就能分开了。版本翻译,维护,分工相对以前都比较方便了。同一个模式的来学习 , 现在的主流模式 , 之后学习 web,android 什么的 , 都会相对于比较方便了 .

       附件中贴上自己的拙劣代码 .

 

 

  • 大小: 10.4 KB
  • 大小: 13.4 KB
  • 大小: 11.1 KB
8
5
分享到:
评论

相关推荐

    javase可视化编程插件

    JavaSE可视化编程插件是一种强大的开发工具,它极大地简化了Java应用程序的开发过程,特别是对于初学者和希望提高效率的开发者来说。通过这种插件,用户不再需要编写大量的代码,而是可以通过图形化界面,直接通过...

    JavaSE单例模式各种写法.doc

    ### JavaSE单例模式的各种实现方法 #### 一、懒汉式(线程不安全) **定义:** 懒汉式单例模式是最简单的实现方式之一,它的特点是第一次被调用时才实例化对象。 **代码示例:** ```java public class ...

    JavaSE_JavaSE学习资料_

    正则表达式则是文本处理中的强大工具,可用于数据验证和模式匹配。 总的来说,这个JavaSE学习资料包将引导开发者全面地学习Java语言的核心特性,掌握基本编程技巧,理解并运用集合框架、IO流等关键概念,从而具备...

    Javase 技术代码测试

    本项目针对JavaSE的多个核心知识点进行了综合性的测试,涵盖了线程、集合、内部类、设计模式、枚举、IO流以及自定义注解等多个关键领域。 1. **线程**:在Java中,线程是程序执行的最小单位,通过`Thread`类或者...

    javase基础 格式化模板

    在这个“javase基础 格式化模板”主题中,我们将深入探讨Java语言的基础知识,包括语法、数据类型、控制结构、类与对象等,并重点关注代码的格式化和模板使用。 1. **Java语言基础** - **语法**:Java语言具有严格...

    javase-2.2-API文档-中文版.zip

    赠送jar包:javase-2.2.jar; 赠送原API文档:javase-2.2-javadoc.jar; 赠送源代码:javase-2.2-sources.jar; 赠送Maven依赖信息文件:...人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。

    JavaSE1.6参考文档

    JavaSE 1.6 参考文档 JavaSE 1.6 API

    javase脑图.emmx

    javase脑图.emmx

    javase阶段15个实战项目代码

    8. 设计模式:项目可能包含对单例、工厂、观察者等常见设计模式的应用,这些模式在解决特定编程问题时非常有用。 9. 异常处理:了解如何正确地捕获和处理异常,这是编写健壮代码的关键。 10. 注解与反射:通过使用...

    JAVASE基础知识详解

    JAVASE基础知识详解

    JavaSE项目最终总结

    JavaSE(Java Standard Edition)是Java编程语言的核心部分,它为开发桌面应用程序、服务器端应用程序以及网络应用提供了基础框架和工具。在这个“JavaSE项目最终总结”中,我们将深入探讨JavaSE的重要概念、核心...

    JavaSE李学重讲义

    JavaSE,全称为Java Standard Edition,是Java平台的核心部分,主要面向桌面应用和服务器端开发。这个讲义可能涵盖了Java编程语言的基础知识、核心概念以及高级特性,旨在帮助学习者全面掌握Java编程技能。 首先,...

    王道JavaSE阶段测试

    【标题】"王道JavaSE阶段测试"涵盖了Java标准版(Java Standard Edition,简称JavaSE)的核心编程知识,这是学习Java编程的基础阶段。这个阶段主要目的是掌握Java语言的基本语法、面向对象编程概念以及常用的数据...

    javaSE项目

    6. **项目组织与管理**:一个完整的项目会包含良好的代码结构和模块化设计,遵循一定的设计模式,比如单例模式、工厂模式等。此外,版本控制系统如Git的使用,Maven或Gradle构建工具的集成,以及单元测试和集成测试...

    Javase项目

    同时,这也会涉及到一些设计模式,比如单例模式(`Singleton`)可能用于`Bank`类,工厂模式(`Factory`)可能用于创建不同类型的`Account`,等等。 总的来说,这个"Javase银行类源码"项目是一个很好的实践平台,...

    JavaSE基础.md

    JavaSE基础.md

    学习JavaSE的全面的课件

    学习JavaSE的全面的课件学习JavaSE的全面的课件学习JavaSE的全面的课件学习JavaSE的全面的课件学习JavaSE的全面的课件学习JavaSE的全面的课件学习JavaSE的全面的课件学习JavaSE的全面的课件学习JavaSE的全面的课件...

    javase-3.3.3-API文档-中文版.zip

    赠送jar包:javase-3.3.3.jar; 赠送原API文档:javase-3.3.3-javadoc.jar; 赠送源代码:javase-3.3.3-sources.jar;...人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。

    javaSEjavaSE

    JavaSE(Java Standard Edition)是Java开发平台的一个核心组件,主要针对桌面应用和服务器端应用程序的开发。它提供了丰富的类库和API,使得开发者能够构建跨平台的应用程序。JavaSE包含了JVM(Java虚拟机)、Java...

Global site tag (gtag.js) - Google Analytics