一种Java编辑框本地化的方法和装置的制作方法

文档序号:6604566阅读:119来源:国知局
专利名称:一种Java编辑框本地化的方法和装置的制作方法
技术领域
本发明涉及Java虚拟机在移动通信终端中的应用技术领域,尤其涉及一种Java编辑框本地化的方法和装置。
背景技术
随着手机的普及,移动网络的不断完善,手机应用数量如春笋般增长,以 J2ME(Java Platform2 Micro Edition)应用为代表的增值业务逐渐成为中高端手机的主 流业务,从而基于嵌入式平台的Java虚拟机也逐渐成为了很多主流运营商对手机,特别是 定制手机的强制性要求。Java虚拟机的主要功能是为手机提供一个J2ME应用环境,同时也提供了一系列 的UI (User Interface)组件,其中,textField和textBox组件都是UI组件中的编辑框控 件,支持用户与J2ME应用的交互。Java虚拟机提供的Java编辑框控件是以方框的形式绘制在界面上,但这些Java 编辑框控件与用户交互的功能并不强大,用户甚至不能直接在方框中进行输入操作,Java 虚拟机为了让用户能执行输入操作,现有的代码框架下,如图1所示,完成一次文本输入要 经过以下步骤步骤Si,Java编辑框聚焦;步骤S2,启动本地编辑框,加载本地输入法;步骤S3,在本地编辑框中完成文本输入;步骤S4,关闭本地编辑框;步骤S5,输入的文本显示在Java编辑框内。由此来看,用户在J2ME应用中完成一次输入时,需二次调用编辑框Java编辑框 和本地编辑框,且调用的过程产生的显示效果用户可见,这点使得用户在使用时感到迷惑。手机设备平台中包含本地编辑框,本地编辑框是手机设备平台UI组件的一部分, 它在用户视觉和使用体验上都表现得跟手机设备所支持的一致,同时也支持手机设备能支 持的所有输入法,因此几乎所有主流虚拟机都会用到手机设备平台的本地编辑框去完成用 户与应用之间的交互功能,但是若像上述通过二次调用编辑框才进入本地编辑框的虚拟 机,其用户体验性将大打折扣,因此,需要通过Java编辑框本地化来提升用户的体验和感 受。虚拟机内核为虚拟机移植人员提供了一整套Java虚拟机UI组件的本地化方法, 方便移植人员将所有Java虚拟机UI组件都本地化,即用手机设备平台的UI组件替换原 Java虚拟机UI组件,其中包括了 Java编辑框的本地化。实现之后,整个Java虚拟机的界 面风格都跟手机设备平台本地界面风格一样,因此,二次调用编辑框的现象将不再出现,用 户可以直接在Java虚拟机中的Java编辑框输入内容,这时的输入步骤包括步骤A,已被本地编辑框替代的Java编辑框聚焦;步骤B,加载输入法,用户进行文本输入;
步骤C,输入内容直接显示在Java编辑框内。但是,由于UI组件涉及广泛,需要考虑平台的支持,因此,要整体实现所有UI控件 的本地化,需要为每个UI组件提供平台移植,代码框架需要改动,代码改动量也非常大。为 了解决这个困难,也有虚拟机将Java单个或部分控件进行本地化。适合单独进行本地化的 Java控件一般具有与核心代码的耦合性低、控件个数单一和与用户交互简单的特点。然而, Java编辑框控件与核心代码耦合性很高,像textField这样的输入框控件数量也是不固定 的,所以单独将Java编辑框控件进行本地化在实现上非常复杂。同时,Java输入框控件是 联系用户与J2ME应用内容交互的桥梁,因此不容易满足单独进行本地化的条件
发明内容
本发明要解决的技术问题是,提供一种Java编辑框本地化的方法和装置,使单独 将Java编辑框进行本地化变得简单易行。本发明采用的技术方案是,所述Java编辑框本地化的方法,包括当用户在J2ME客户端界面中选择某一 Java编辑框时,Java虚拟机在刷新界面的 同时为所述Java编辑框创建一个本地编辑框展示给用户;后续Java虚拟机用已创建的本地编辑框替换用户选择的任一新的Java编辑框展 示给用户。本发明还提供另一种Java编辑框本地化的方法,包括当用户在J2ME客户端界面中对每种类型的Java编辑框进行首次选择时,Java虚 拟机在刷新界面的同时为不同类型的Java编辑框分别创建本地编辑框展示给用户;Java虚拟机用已创建的本地编辑框替换用户选择的同类型的新的Java编辑框展 示给用户。本发明还提供一种Java编辑框本地化的装置,包括Java虚拟机;所述Java虚拟机,用于接受用户对Java编辑框的选择,当用户首次选择某一 Java 编辑框时,刷新界面并为所述Java编辑框创建一个本地编辑框展示给用户,并用已创建的 本地编辑框替换用户选择的任一新的Java编辑框展示给用户。采用上述技术方案,本发明至少具有下列优点本发明所述Java编辑框本地化的方法和装置,当用户在J2ME客户端界面中选择 某一 Java编辑框时,Java虚拟机在刷新界面的同时为所述Java编辑框创建一个本地编辑 框展示给用户;后续Java虚拟机用已创建的本地编辑框替换用户选择的任一新的Java编 辑框展示给用户。本发明利用本地编辑框与Java编辑框界面一致的特点,无论当前应用界 面有多少个Java编辑框,Java虚拟机只需使用一个本地编辑框来替换当前用户正在使用 的Java编辑框,其他未被用户使用的Java编辑框将不会被本地化,但从用户的视觉和使 用角度来看,整个虚拟机的Java编辑框都看似已本地化,从而达到Java编辑框本地化的 目的。与现有技术相比,本发明仅由一个本地编辑框来实现数量不确定的Java编辑框的本 地化,由于虚拟机对本地输入框的控制数量上只有一个,因此,通过这种方法解决了单独将 Java编辑框进行本地化的问题,能够比用多个本地编辑框控件来实现要简单的多,同时增 强了用户的体验和感受。


图1为现有技术中Java编辑框本地化的方法流程图;图2为本发明第一实施例所述Java编辑框本地化的方法流程图;图3为本发明第二实施例所述Java编辑框本地化的方法流程图;图4为本发明第三实施例所述Java编辑框本地化的装置示意图。
具体实施方式
为更进一步阐述本发明为达成预定目的所采取的技术手段及功效,以下结合附图 及较佳实施例,对本发明提出的所述Java编辑框本地化的方法和装置,详细说明如后。本发明第一实施例,如图2所示,一种Java编辑框本地化的方法,包括如下具体步 骤步骤S101,当用户打开J2ME客户端时,将界面切换到包含多个Java编辑框的界 面。J2ME客户端界面上所有的UI组件都属于item对象,所以每个Java编辑框都对应一个 item对象。步骤S102,Java虚拟机绘制出J2ME客户端界面上所有的item对象。步骤S103,当用户通过手指的操作选择聚焦第一 Java编辑框时,Java虚拟机将第
一Java编辑框对应的ItemLFmpl实例的hasFocus标识设为true。步骤S104,Java虚拟机重新依次绘制J2ME客户端界面上所有的item对象,同时 判断将要绘制的Java编辑框对应的ItemLFmpl实例的hasFocus标识是否为true,若是,则 调用操作系统底层函数为其创建一个对应大小和位置的本地编辑框展示给用户,否则绘制 一个Java虚拟机自带的Java编辑框对应的item对象展示给用户,依次类推,直到绘制完 J2ME客户端界面上的所有Java编辑框;步骤S105,当用户通过手指的操作选择聚焦第二 Java编辑框时,Java虚拟机将第
二Java编辑框对应的ItemLFmpl实例的hasFocus标识设为true。步骤S106,Java虚拟机重新依次绘制J2ME客户端界面上所有的item对象。步骤S107,判断将要绘制的Java编辑框对应的ItemLFmpl实例的hasFocus标识 是否为true,若是,则Java虚拟机先根据第二 Java编辑框调整本地编辑框的位置、大小和 属性,再用调整后的本地编辑框替换第二 Java编辑框,展示给用户,然后跳转步骤S106,直 到绘制完J2ME客户端界面上的所有Java编辑框,流程结束,否则跳转步骤S108。步骤S108,根据将要绘制的Java编辑框的对应的ItemLFmpl实例的 uCalITraverseOut函数判断是否刚失去焦距,若是,则保存用户在当前刚失去焦距的Java 编辑框中输入的内容,否则绘制一个Java虚拟机自带的Java编辑框对应的item对象展示 给用户,然后跳转步骤S106,直到绘制完J2ME客户端界面上的所有Java编辑框,流程结束。本实施例对虚拟机内容的Java输入框控件展示方式进行了改进,现有技术已经 针对Java虚拟机的所有UI控件提供了本地化接口,但是并没有单独将Java输入框控件独 立出来进行本地化。而本发明利用本地编辑框与Java编辑框界面一致的特点,无论当前应 用界面有多少个Java编辑框,Java虚拟机只需使用一个本地编辑框来替换当前用户正在 使用的Java编辑框,其他未被用户使用的Java编辑框将不会被本地化,但从用户的视觉和 使用角度来看,整个虚拟机的Java编辑框都看似已本地化,从而达到Java编辑框本地化的目的。如果Java编辑框类型不同时,在替换Java编辑框的过程中,只需对本地编辑框的属 性进行调整即可。与现有技术相比,本发明仅由一个本地编辑框来实现数量不确定的Java 编辑框的本地化,由于虚拟机对本地输入框的控制数量上只有一个,因此,通过这种方法解 决了单独将Java编辑框进行本地化的问题,能够比用多个本地编辑框控件来实现要简单 的多,同时增强了用户的体验和感受。
本发明第二实施例,如图3所示,一种Java编辑框本地化的方法,包括如下具体步 骤步骤S201,当用户打开J2ME客户端时,将界面切换到包含多个类型Java编辑框的 界面,比如密码输入框、数字输入框、URL地址输入框和email地址输入框。J2ME客户端界 面上所有的UI组件都属于item对象,所以每个Java编辑框都对应一个item对象。步骤S202,Java虚拟机绘制出J2ME客户端界面上所有的item对象。步骤S203,当用户通过手指的操作选择聚焦第一 Java编辑框时,Java虚拟机将第
一Java编辑框对应的ItemLFmpl实例的hasFocus标识设为true。步骤S204,Java虚拟机重新依次绘制J2ME客户端界面上所有的item对象,同时 判断将要绘制的Java编辑框对应的ItemLFmpl实例的hasFocus标识是否为true,若是,则 调用操作系统底层函数为其创建一个对应大小和位置的本地编辑框展示给用户,否则绘制 一个Java虚拟机自带的Java编辑框对应的item对象展示给用户,依次类推,直到绘制完 J2ME客户端界面上的所有Java编辑框;步骤S205,当用户通过手指的操作选择聚焦第二 Java编辑框时,Java虚拟机将第
二Java编辑框对应的ItemLFmpl实例的hasFocus标识设为true。步骤S206,Java虚拟机重新依次绘制J2ME客户端界面上所有的item对象。步骤S207,判断将要绘制的Java编辑框对应的ItemLFmpl实例的hasFocus标识 是否为true,若是,则跳转步骤S208,否则跳转步骤S209。步骤S208,判断第二 Java编辑框与已创建的本地输入框是否属于同一类型,若 是,则Java虚拟机先根据第二 Java编辑框调整已创建的本地编辑框的位置和大小,再用调 整后的本地编辑框替换第二 Java编辑框,展示给用户,否则调用操作系统底层函数为第二 Java编辑框创建一个对应大小和位置的本地编辑框展示给用户;然后跳转步骤S206,直到 绘制完J2ME客户端界面上的所有Java编辑框,流程结束。步骤S209,根据将要绘制的Java编辑框的对应的ItemLFmpl实例的 uCalITraverseOut函数判断是否刚失去焦距,若是,则保存用户在当前失去焦距的Java编 辑框中输入的内容,绘制一个Java编辑框对应的item对象展示给用户,否则,绘制一个 Java编辑框对应的item对象展示给用户;然后跳转步骤S206,直到绘制完J2ME客户端界 面上的所有Java编辑框,流程结束。需要说明的是,同一类型的Java编辑框一旦首次被用户选择聚焦,则会创建对应 类型的本地编辑框,后续用户再次选择同类型的Java编辑框时,将直接由已创建的本地编 辑框替换Java编辑框,但不同类型的编辑框之间不同替换。本发明第三实施例,如图4所示,一种Java编辑框本地化的装置,包括Java虚拟 机;该Java虚拟机,用于接受用户对Java编辑框的选择,当用户首次选择某一 Java编辑框时,刷新界面并为所述Java编辑框创建一个本地编辑框展示给用户;后续用已创建 的本地编辑框替换用户选择的任一新的Java编辑框展示给用户。该Java虚拟机包括如下 三个模块Java VM(Java visual machine,虚拟机内核)模块,用于当用户首次选择某一 Java编辑框时,为所述Java编辑框分配焦距,重新依次绘制J2ME客户端界面上的Java编 辑框,判断将要绘制的Java编辑框是否有焦距,若是,则通知移植模块为所述Java编辑框 绘制一个对应大小和位置的本地编辑框,否则绘制一个Java虚拟机自带的Java编辑框传 递给移植模块,直到绘制完J2ME客户端界面上的所有Java编辑框;进一步用于当用户后续选择任一新的Java编辑框时,先根据所述新的Java编辑 框调整本地编辑框的位置、大小和属性,再将调整后的本地编辑框传递给移植模块;
移植模块,用于为已被用户选择的Java编辑框绘制一个对应大小和位置的本地 编辑框,将本地编辑框或Java虚拟机自带的Java编辑框通过J2ME客户端界面展示给用 户;KNI(K Native Interface,本地接口)模块,用于连接虚拟机内核模块与移植模 块。优选的,该虚拟机内核模块进一步用于,在用户选择的任一新的Java编辑框时, 保存用户在当前刚失去焦距的Java编辑框中输入的内容。本发明并不限于上述的三个具体的实施例,对于本领域的技术人员来说,本发明 可以用于Java虚拟机的其他控件中,例如进度条、choiceGroup等控件。通过具体实施方式
的说明,应当可对本发明为达成预定目的所采取的技术手段及 功效得以更加深入且具体的了解,然而所附图示仅是提供参考与说明之用,并非用来对本 发明加以限制。
权利要求
一种Java编辑框本地化的方法,其特征在于,包括当用户在J2ME客户端界面中选择某一Java编辑框时,Java虚拟机在刷新界面的同时为所述Java编辑框创建一个本地编辑框展示给用户;Java虚拟机用已创建的本地编辑框替换用户选择的任一新的Java编辑框展示给用户。
2.根据权利要求1所述Java编辑框本地化的方法,其特征在于,当用户在J2ME客户端 界面中选择某一 Java编辑框时,该方法进一步包括Java虚拟机为所述Java编辑框分配焦距。
3.根据权利要求1所述Java编辑框本地化的方法,其特征在于,所述Java虚拟机在刷 新界面的同时为所述Java编辑框创建一个本地编辑框展示给用户的具体过程包括所述Java虚拟机重新依次绘制J2ME客户端界面上的Java编辑框;判断将要绘制的Java编辑框是否有焦距,若有,则为其创建一个对应大小和位置的本 地编辑框展示给用户,若没有,则绘制一个Java虚拟机自带的Java编辑框展示给用户,直 到绘制完J2ME客户端界面上的所有Java编辑框。
4.根据权利要求1所述Java编辑框本地化的方法,其特征在于,所述Java虚拟机用所 述本地编辑框替换用户选择的任一新的Java编辑框展示给用户的过程包括所述Java虚拟机先根据所述新的Java编辑框调整所述本地编辑框的位置、大小和属 性,再用调整后的所述本地编辑框替换所述新的Java编辑框,展示给用户。
5.根据权利要求1或2或3或4所述Java编辑框本地化的方法,其特征在于,进一步 包括在用户选择任一新的Java编辑框时,保存用户在当前刚失去焦距的Java编辑框中输 入的内容。
6.一种Java编辑框本地化的方法,其特征在于,包括当用户在J2ME客户端界面中对每种类型的Java编辑框进行首次选择时,Java虚拟机 在刷新界面的同时为不同类型的Java编辑框分别创建本地编辑框展示给用户;Java虚拟机用已创建的本地编辑框替换用户选择的同类型的新的Java编辑框展示给 用户。
7.一种Java编辑框本地化的装置,包括Java虚拟机,其特征在于,所述Java虚拟机, 用于接受用户对Java编辑框的选择,当用户首次选择某一 Java编辑框时,刷新界面并为所 述Java编辑框创建一个本地编辑框展示给用户,并用已创建的本地编辑框替换用户选择 的任一新的Java编辑框展示给用户。
8.根据权利要求7所述Java编辑框本地化的装置,其特征在于,所述Java虚拟机包括 如下三个模块虚拟机内核模块,用于当用户首次选择某一 Java编辑框时,重新依次绘制J2ME客户 端界面上的Java编辑框,判断将要绘制的Java编辑框是否已被用户选择,若是,则通知移 植模块为所述Java编辑框绘制一个对应大小和位置的本地编辑框,否则绘制一个Java虚 拟机自带的Java编辑框,传递给移植模块直到绘制完J2ME客户端界面上的所有Java编辑 框;进一步用于当用户后续选择任一新的Java编辑框时,先根据所述新的Java编辑框调 整本地编辑框的位置、大小和属性,再将调整后的本地编辑框传递给移植模块;移植模块,用于为已被用户选择的Java编辑框绘制一个对应大小和位置的本地编辑 框;将本地编辑框或Java虚拟机自带的Java编辑框通过J2ME客户端界面展示给用户; 本地接口模块,用于连接虚拟机内核模块与移植模块。
9.根据权利要求8所述Java编辑框本地化的装置,其特征在于,所述虚拟机内核模块 进一步用于,当用户选择某一 Java编辑框时,为所述Java编辑框分配焦距。
10.根据权利要求9所述Java编辑框本地化的装置,其特征在于,所述虚拟机内核模块 进一步用于,在用户选择任一新的Java编辑框时,保存用户在当前刚失去焦距的Java编辑 框中输入的内容。
全文摘要
本发明公开了一种Java编辑框本地化的方法和装置,当用户在J2ME客户端界面中选择某一Java编辑框时,Java虚拟机在刷新界面的同时为所述Java编辑框创建一个本地编辑框展示给用户;后续Java虚拟机用已创建的本地编辑框替换用户选择的任一新的Java编辑框展示给用户。本发明仅由一个本地编辑框来实现数量不确定的Java编辑框的本地化,由于虚拟机对本地输入框的控制数量上只有一个,因此,通过这种方法解决了单独将Java编辑框进行本地化的问题,能够比用多个本地编辑框控件来实现要简单的多,同时增强了用户的体验和感受。
文档编号G06F9/44GK101882082SQ201010207008
公开日2010年11月10日 申请日期2010年6月23日 优先权日2010年6月23日
发明者唐欢亮 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1