專利名稱:一種Java編輯框本地化的方法和裝置的制作方法
技術領域:
本發(fā)明涉及Java虛擬機在移動通信終端中的應用技術領域,尤其涉及一種Java編輯框本地化的方法和裝置。
背景技術:
隨著手機的普及,移動網(wǎng)絡的不斷完善,手機應用數(shù)量如春筍般增長,以 J2ME(Java Platform2 Micro Edition)應用為代表的增值業(yè)務逐漸成為中高端手機的主 流業(yè)務,從而基于嵌入式平臺的Java虛擬機也逐漸成為了很多主流運營商對手機,特別是 定制手機的強制性要求。Java虛擬機的主要功能是為手機提供一個J2ME應用環(huán)境,同時也提供了一系列 的UI (User Interface)組件,其中,textField和textBox組件都是UI組件中的編輯框控 件,支持用戶與J2ME應用的交互。Java虛擬機提供的Java編輯框控件是以方框的形式繪制在界面上,但這些Java 編輯框控件與用戶交互的功能并不強大,用戶甚至不能直接在方框中進行輸入操作,Java 虛擬機為了讓用戶能執(zhí)行輸入操作,現(xiàn)有的代碼框架下,如圖1所示,完成一次文本輸入要 經(jīng)過以下步驟步驟Si,Java編輯框聚焦;步驟S2,啟動本地編輯框,加載本地輸入法;步驟S3,在本地編輯框中完成文本輸入;步驟S4,關閉本地編輯框;步驟S5,輸入的文本顯示在Java編輯框內。由此來看,用戶在J2ME應用中完成一次輸入時,需二次調用編輯框Java編輯框 和本地編輯框,且調用的過程產(chǎn)生的顯示效果用戶可見,這點使得用戶在使用時感到迷惑。手機設備平臺中包含本地編輯框,本地編輯框是手機設備平臺UI組件的一部分, 它在用戶視覺和使用體驗上都表現(xiàn)得跟手機設備所支持的一致,同時也支持手機設備能支 持的所有輸入法,因此幾乎所有主流虛擬機都會用到手機設備平臺的本地編輯框去完成用 戶與應用之間的交互功能,但是若像上述通過二次調用編輯框才進入本地編輯框的虛擬 機,其用戶體驗性將大打折扣,因此,需要通過Java編輯框本地化來提升用戶的體驗和感 受。虛擬機內核為虛擬機移植人員提供了一整套Java虛擬機UI組件的本地化方法, 方便移植人員將所有Java虛擬機UI組件都本地化,即用手機設備平臺的UI組件替換原 Java虛擬機UI組件,其中包括了 Java編輯框的本地化。實現(xiàn)之后,整個Java虛擬機的界 面風格都跟手機設備平臺本地界面風格一樣,因此,二次調用編輯框的現(xiàn)象將不再出現(xiàn),用 戶可以直接在Java虛擬機中的Java編輯框輸入內容,這時的輸入步驟包括步驟A,已被本地編輯框替代的Java編輯框聚焦;步驟B,加載輸入法,用戶進行文本輸入;
步驟C,輸入內容直接顯示在Java編輯框內。但是,由于UI組件涉及廣泛,需要考慮平臺的支持,因此,要整體實現(xiàn)所有UI控件 的本地化,需要為每個UI組件提供平臺移植,代碼框架需要改動,代碼改動量也非常大。為 了解決這個困難,也有虛擬機將Java單個或部分控件進行本地化。適合單獨進行本地化的 Java控件一般具有與核心代碼的耦合性低、控件個數(shù)單一和與用戶交互簡單的特點。然而, Java編輯框控件與核心代碼耦合性很高,像textField這樣的輸入框控件數(shù)量也是不固定 的,所以單獨將Java編輯框控件進行本地化在實現(xiàn)上非常復雜。同時,Java輸入框控件是 聯(lián)系用戶與J2ME應用內容交互的橋梁,因此不容易滿足單獨進行本地化的條件
發(fā)明內容
本發(fā)明要解決的技術問題是,提供一種Java編輯框本地化的方法和裝置,使單獨 將Java編輯框進行本地化變得簡單易行。本發(fā)明采用的技術方案是,所述Java編輯框本地化的方法,包括當用戶在J2ME客戶端界面中選擇某一 Java編輯框時,Java虛擬機在刷新界面的 同時為所述Java編輯框創(chuàng)建一個本地編輯框展示給用戶;后續(xù)Java虛擬機用已創(chuàng)建的本地編輯框替換用戶選擇的任一新的Java編輯框展 示給用戶。本發(fā)明還提供另一種Java編輯框本地化的方法,包括當用戶在J2ME客戶端界面中對每種類型的Java編輯框進行首次選擇時,Java虛 擬機在刷新界面的同時為不同類型的Java編輯框分別創(chuàng)建本地編輯框展示給用戶;Java虛擬機用已創(chuàng)建的本地編輯框替換用戶選擇的同類型的新的Java編輯框展 示給用戶。本發(fā)明還提供一種Java編輯框本地化的裝置,包括Java虛擬機;所述Java虛擬機,用于接受用戶對Java編輯框的選擇,當用戶首次選擇某一 Java 編輯框時,刷新界面并為所述Java編輯框創(chuàng)建一個本地編輯框展示給用戶,并用已創(chuàng)建的 本地編輯框替換用戶選擇的任一新的Java編輯框展示給用戶。采用上述技術方案,本發(fā)明至少具有下列優(yōu)點本發(fā)明所述Java編輯框本地化的方法和裝置,當用戶在J2ME客戶端界面中選擇 某一 Java編輯框時,Java虛擬機在刷新界面的同時為所述Java編輯框創(chuàng)建一個本地編輯 框展示給用戶;后續(xù)Java虛擬機用已創(chuàng)建的本地編輯框替換用戶選擇的任一新的Java編 輯框展示給用戶。本發(fā)明利用本地編輯框與Java編輯框界面一致的特點,無論當前應用界 面有多少個Java編輯框,Java虛擬機只需使用一個本地編輯框來替換當前用戶正在使用 的Java編輯框,其他未被用戶使用的Java編輯框將不會被本地化,但從用戶的視覺和使 用角度來看,整個虛擬機的Java編輯框都看似已本地化,從而達到Java編輯框本地化的 目的。與現(xiàn)有技術相比,本發(fā)明僅由一個本地編輯框來實現(xiàn)數(shù)量不確定的Java編輯框的本 地化,由于虛擬機對本地輸入框的控制數(shù)量上只有一個,因此,通過這種方法解決了單獨將 Java編輯框進行本地化的問題,能夠比用多個本地編輯框控件來實現(xiàn)要簡單的多,同時增 強了用戶的體驗和感受。
圖1為現(xiàn)有技術中Java編輯框本地化的方法流程圖;圖2為本發(fā)明第一實施例所述Java編輯框本地化的方法流程圖;圖3為本發(fā)明第二實施例所述Java編輯框本地化的方法流程圖;圖4為本發(fā)明第三實施例所述Java編輯框本地化的裝置示意圖。
具體實施方式
為更進一步闡述本發(fā)明為達成預定目的所采取的技術手段及功效,以下結合附圖 及較佳實施例,對本發(fā)明提出的所述Java編輯框本地化的方法和裝置,詳細說明如后。本發(fā)明第一實施例,如圖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,若是,則 調用操作系統(tǒng)底層函數(shù)為其創(chuàng)建一個對應大小和位置的本地編輯框展示給用戶,否則繪制 一個Java虛擬機自帶的Java編輯框對應的item對象展示給用戶,依次類推,直到繪制完 J2ME客戶端界面上的所有Java編輯框;步驟S105,當用戶通過手指的操作選擇聚焦第二 Java編輯框時,Java虛擬機將第
二Java編輯框對應的ItemLFmpl實例的hasFocus標識設為true。步驟S106,Java虛擬機重新依次繪制J2ME客戶端界面上所有的item對象。步驟S107,判斷將要繪制的Java編輯框對應的ItemLFmpl實例的hasFocus標識 是否為true,若是,則Java虛擬機先根據(jù)第二 Java編輯框調整本地編輯框的位置、大小和 屬性,再用調整后的本地編輯框替換第二 Java編輯框,展示給用戶,然后跳轉步驟S106,直 到繪制完J2ME客戶端界面上的所有Java編輯框,流程結束,否則跳轉步驟S108。步驟S108,根據(jù)將要繪制的Java編輯框的對應的ItemLFmpl實例的 uCalITraverseOut函數(shù)判斷是否剛失去焦距,若是,則保存用戶在當前剛失去焦距的Java 編輯框中輸入的內容,否則繪制一個Java虛擬機自帶的Java編輯框對應的item對象展示 給用戶,然后跳轉步驟S106,直到繪制完J2ME客戶端界面上的所有Java編輯框,流程結束。本實施例對虛擬機內容的Java輸入框控件展示方式進行了改進,現(xiàn)有技術已經(jīng) 針對Java虛擬機的所有UI控件提供了本地化接口,但是并沒有單獨將Java輸入框控件獨 立出來進行本地化。而本發(fā)明利用本地編輯框與Java編輯框界面一致的特點,無論當前應 用界面有多少個Java編輯框,Java虛擬機只需使用一個本地編輯框來替換當前用戶正在 使用的Java編輯框,其他未被用戶使用的Java編輯框將不會被本地化,但從用戶的視覺和 使用角度來看,整個虛擬機的Java編輯框都看似已本地化,從而達到Java編輯框本地化的目的。如果Java編輯框類型不同時,在替換Java編輯框的過程中,只需對本地編輯框的屬 性進行調整即可。與現(xiàn)有技術相比,本發(fā)明僅由一個本地編輯框來實現(xiàn)數(shù)量不確定的Java 編輯框的本地化,由于虛擬機對本地輸入框的控制數(shù)量上只有一個,因此,通過這種方法解 決了單獨將Java編輯框進行本地化的問題,能夠比用多個本地編輯框控件來實現(xiàn)要簡單 的多,同時增強了用戶的體驗和感受。
本發(fā)明第二實施例,如圖3所示,一種Java編輯框本地化的方法,包括如下具體步 驟步驟S201,當用戶打開J2ME客戶端時,將界面切換到包含多個類型Java編輯框的 界面,比如密碼輸入框、數(shù)字輸入框、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,若是,則 調用操作系統(tǒng)底層函數(shù)為其創(chuàng)建一個對應大小和位置的本地編輯框展示給用戶,否則繪制 一個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編輯框與已創(chuàng)建的本地輸入框是否屬于同一類型,若 是,則Java虛擬機先根據(jù)第二 Java編輯框調整已創(chuàng)建的本地編輯框的位置和大小,再用調 整后的本地編輯框替換第二 Java編輯框,展示給用戶,否則調用操作系統(tǒng)底層函數(shù)為第二 Java編輯框創(chuàng)建一個對應大小和位置的本地編輯框展示給用戶;然后跳轉步驟S206,直到 繪制完J2ME客戶端界面上的所有Java編輯框,流程結束。步驟S209,根據(jù)將要繪制的Java編輯框的對應的ItemLFmpl實例的 uCalITraverseOut函數(shù)判斷是否剛失去焦距,若是,則保存用戶在當前失去焦距的Java編 輯框中輸入的內容,繪制一個Java編輯框對應的item對象展示給用戶,否則,繪制一個 Java編輯框對應的item對象展示給用戶;然后跳轉步驟S206,直到繪制完J2ME客戶端界 面上的所有Java編輯框,流程結束。需要說明的是,同一類型的Java編輯框一旦首次被用戶選擇聚焦,則會創(chuàng)建對應 類型的本地編輯框,后續(xù)用戶再次選擇同類型的Java編輯框時,將直接由已創(chuàng)建的本地編 輯框替換Java編輯框,但不同類型的編輯框之間不同替換。本發(fā)明第三實施例,如圖4所示,一種Java編輯框本地化的裝置,包括Java虛擬 機;該Java虛擬機,用于接受用戶對Java編輯框的選擇,當用戶首次選擇某一 Java編輯框時,刷新界面并為所述Java編輯框創(chuàng)建一個本地編輯框展示給用戶;后續(xù)用已創(chuàng)建 的本地編輯框替換用戶選擇的任一新的Java編輯框展示給用戶。該Java虛擬機包括如下 三個模塊Java VM(Java visual machine,虛擬機內核)模塊,用于當用戶首次選擇某一 Java編輯框時,為所述Java編輯框分配焦距,重新依次繪制J2ME客戶端界面上的Java編 輯框,判斷將要繪制的Java編輯框是否有焦距,若是,則通知移植模塊為所述Java編輯框 繪制一個對應大小和位置的本地編輯框,否則繪制一個Java虛擬機自帶的Java編輯框傳 遞給移植模塊,直到繪制完J2ME客戶端界面上的所有Java編輯框;進一步用于當用戶后續(xù)選擇任一新的Java編輯框時,先根據(jù)所述新的Java編輯 框調整本地編輯框的位置、大小和屬性,再將調整后的本地編輯框傳遞給移植模塊;
移植模塊,用于為已被用戶選擇的Java編輯框繪制一個對應大小和位置的本地 編輯框,將本地編輯框或Java虛擬機自帶的Java編輯框通過J2ME客戶端界面展示給用 戶;KNI(K Native Interface,本地接口)模塊,用于連接虛擬機內核模塊與移植模 塊。優(yōu)選的,該虛擬機內核模塊進一步用于,在用戶選擇的任一新的Java編輯框時, 保存用戶在當前剛失去焦距的Java編輯框中輸入的內容。本發(fā)明并不限于上述的三個具體的實施例,對于本領域的技術人員來說,本發(fā)明 可以用于Java虛擬機的其他控件中,例如進度條、choiceGroup等控件。通過具體實施方式
的說明,應當可對本發(fā)明為達成預定目的所采取的技術手段及 功效得以更加深入且具體的了解,然而所附圖示僅是提供參考與說明之用,并非用來對本 發(fā)明加以限制。
權利要求
一種Java編輯框本地化的方法,其特征在于,包括當用戶在J2ME客戶端界面中選擇某一Java編輯框時,Java虛擬機在刷新界面的同時為所述Java編輯框創(chuàng)建一個本地編輯框展示給用戶;Java虛擬機用已創(chuàng)建的本地編輯框替換用戶選擇的任一新的Java編輯框展示給用戶。
2.根據(jù)權利要求1所述Java編輯框本地化的方法,其特征在于,當用戶在J2ME客戶端 界面中選擇某一 Java編輯框時,該方法進一步包括Java虛擬機為所述Java編輯框分配焦距。
3.根據(jù)權利要求1所述Java編輯框本地化的方法,其特征在于,所述Java虛擬機在刷 新界面的同時為所述Java編輯框創(chuàng)建一個本地編輯框展示給用戶的具體過程包括所述Java虛擬機重新依次繪制J2ME客戶端界面上的Java編輯框;判斷將要繪制的Java編輯框是否有焦距,若有,則為其創(chuàng)建一個對應大小和位置的本 地編輯框展示給用戶,若沒有,則繪制一個Java虛擬機自帶的Java編輯框展示給用戶,直 到繪制完J2ME客戶端界面上的所有Java編輯框。
4.根據(jù)權利要求1所述Java編輯框本地化的方法,其特征在于,所述Java虛擬機用所 述本地編輯框替換用戶選擇的任一新的Java編輯框展示給用戶的過程包括所述Java虛擬機先根據(jù)所述新的Java編輯框調整所述本地編輯框的位置、大小和屬 性,再用調整后的所述本地編輯框替換所述新的Java編輯框,展示給用戶。
5.根據(jù)權利要求1或2或3或4所述Java編輯框本地化的方法,其特征在于,進一步 包括在用戶選擇任一新的Java編輯框時,保存用戶在當前剛失去焦距的Java編輯框中輸 入的內容。
6.一種Java編輯框本地化的方法,其特征在于,包括當用戶在J2ME客戶端界面中對每種類型的Java編輯框進行首次選擇時,Java虛擬機 在刷新界面的同時為不同類型的Java編輯框分別創(chuàng)建本地編輯框展示給用戶;Java虛擬機用已創(chuàng)建的本地編輯框替換用戶選擇的同類型的新的Java編輯框展示給 用戶。
7.一種Java編輯框本地化的裝置,包括Java虛擬機,其特征在于,所述Java虛擬機, 用于接受用戶對Java編輯框的選擇,當用戶首次選擇某一 Java編輯框時,刷新界面并為所 述Java編輯框創(chuàng)建一個本地編輯框展示給用戶,并用已創(chuàng)建的本地編輯框替換用戶選擇 的任一新的Java編輯框展示給用戶。
8.根據(jù)權利要求7所述Java編輯框本地化的裝置,其特征在于,所述Java虛擬機包括 如下三個模塊虛擬機內核模塊,用于當用戶首次選擇某一 Java編輯框時,重新依次繪制J2ME客戶 端界面上的Java編輯框,判斷將要繪制的Java編輯框是否已被用戶選擇,若是,則通知移 植模塊為所述Java編輯框繪制一個對應大小和位置的本地編輯框,否則繪制一個Java虛 擬機自帶的Java編輯框,傳遞給移植模塊直到繪制完J2ME客戶端界面上的所有Java編輯 框;進一步用于當用戶后續(xù)選擇任一新的Java編輯框時,先根據(jù)所述新的Java編輯框調 整本地編輯框的位置、大小和屬性,再將調整后的本地編輯框傳遞給移植模塊;移植模塊,用于為已被用戶選擇的Java編輯框繪制一個對應大小和位置的本地編輯 框;將本地編輯框或Java虛擬機自帶的Java編輯框通過J2ME客戶端界面展示給用戶; 本地接口模塊,用于連接虛擬機內核模塊與移植模塊。
9.根據(jù)權利要求8所述Java編輯框本地化的裝置,其特征在于,所述虛擬機內核模塊 進一步用于,當用戶選擇某一 Java編輯框時,為所述Java編輯框分配焦距。
10.根據(jù)權利要求9所述Java編輯框本地化的裝置,其特征在于,所述虛擬機內核模塊 進一步用于,在用戶選擇任一新的Java編輯框時,保存用戶在當前剛失去焦距的Java編輯 框中輸入的內容。
全文摘要
本發(fā)明公開了一種Java編輯框本地化的方法和裝置,當用戶在J2ME客戶端界面中選擇某一Java編輯框時,Java虛擬機在刷新界面的同時為所述Java編輯框創(chuàng)建一個本地編輯框展示給用戶;后續(xù)Java虛擬機用已創(chuàng)建的本地編輯框替換用戶選擇的任一新的Java編輯框展示給用戶。本發(fā)明僅由一個本地編輯框來實現(xiàn)數(shù)量不確定的Java編輯框的本地化,由于虛擬機對本地輸入框的控制數(shù)量上只有一個,因此,通過這種方法解決了單獨將Java編輯框進行本地化的問題,能夠比用多個本地編輯框控件來實現(xiàn)要簡單的多,同時增強了用戶的體驗和感受。
文檔編號G06F9/44GK101882082SQ201010207008
公開日2010年11月10日 申請日期2010年6月23日 優(yōu)先權日2010年6月23日
發(fā)明者唐歡亮 申請人:中興通訊股份有限公司