用J2ME實現低階介面中文輸入法

2021-08-30 06:02:14 字數 756 閱讀 6814

j2me平台的ui介面分為兩種,一種稱為高階ui元件,一種叫做低階ui元件。高階的ui元件使用方便,建立乙個視窗只需要把引數傳入相應的構造就可以了。但是高階ui元件無法自定義樣式,一般都是手機預設的樣式。如果想介面美觀只能用低階介面來畫出來。這樣就出現乙個問題,當涉及到輸入文字的時候,還是會回到高階介面呼叫手機本身的輸入法,這給程式的美觀性大打折扣。所以我嘗試性的用j2me寫了乙個仿照pc上的智慧型abc的輸入法,可以直接在低階介面上使用,因為它是由graphics物件畫出來的。以下是呼叫的效果:

這個輸入法作為乙個ui元件來出現, 介面上通過graphics物件來畫,控制上通過接收keypressed(int keycode)和keyreleased(int keycode)的按鍵值進行鍵盤操作。大體功能如下:

1、支援漢字,英文大小寫,數字,特殊符號輸入。

2、閃動的游標指示,可以通過方向鍵進行移動,便於插入和修改文字。

3、可以限制功能,比如只允許輸入漢字,只允許輸入英文等等。

4、字元的複製,貼上,剪下功能(尚未實現)。

當然這個輸入法類需要乙個textfield或者textbox類來配合使用,當然這兩個類也要用低階介面來從新實現才可以。

這個輸入法由乙個資料檔案(字型檔)和乙個類檔案組成,資料檔案大約10k左右,類檔案大約1000行。字型檔包含所有常用漢字,實際占用的heap記憶體大約在40k左右,或者低於這個值,因為測試的時候,我的介面上還有其它很多的ui在同時執行。這個輸入法對於j2me的應用程式的介面風格會起到很大的幫助,所以我想這點記憶體花銷應該是值得的。

j2me中低階介面字型處理

使用字型 在j2me手機程式設計中,可以通過使用字型類 font在低階使用者介面中,獲得更好的表現效果,那麼如何使用font類呢?首先,由於手機裝置的限制,手機中支援的字型型別很有限,所以在j2me中只能使用手機支援的預設字型來構造font類物件。下面是建立font類的物件時使用的方法 getfon...

j2me實現雙緩衝

j2me程式中,如果我們先前程式設定的螢幕大小為240x300,為了在240x320螢幕繪製時自適應居中我們可以使用雙緩衝來實現 gamescreen中 定義變數 public final static int screenw 240 程式原來的寬度 public final static int ...

J2ME樹形結構實現

樹形結構 tree 是比較常用的資料結構了,midp中沒有它的身影,不然我就不用寫這篇文章了。如下 author hunhun1981 public class htree public void goroot public boolean gochild int index return true...