原创 J2ME低级界面中文输入法收藏

新一篇: 一个把String转成byte数组的小程序 | 旧一篇: J2ME应用程序架构模型


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的应用程序的界面风格会起到很大的帮助,所以我想这点内存花销应该是值得的。 

发表于 @ 2007年04月22日 23:50:00|评论(loading...)|编辑

新一篇: 一个把String转成byte数组的小程序 | 旧一篇: J2ME应用程序架构模型

评论

#prok 发表于2007-04-23 00:17:53  IP: 221.217.237.*
nb
#xueyong1203 发表于2007-04-23 09:42:26  IP: 218.79.113.*
做字库输入法是一个思路,但不是最好的
还是有其他的思路的,呵呵


#k7sem 发表于2007-04-23 09:55:07  IP: 222.130.195.*
谢谢 xueyong1203回复,您的意思是把字符写在程序里吗?
#BenJiee 发表于2007-04-24 09:17:34  IP: 211.95.166.*
能够详细介绍下你的输入法吗?非常感谢
#ystt8283 发表于2007-04-25 11:49:43  IP: 58.61.148.*
思路很好啊,可惜我还很菜,看了也不知道怎么做,郁闷
#ystt8283 发表于2007-04-25 11:52:34  IP: 58.61.148.*
不知楼主能不能施舍代码ystt8283@sina.com,期盼
#howfar2006 发表于2007-07-25 10:39:41  IP: 221.224.52.*
字库用的是点阵字库吗~,是否支持非中文的手机呢,
希望与你一起讨论howfar@live.com
#xudeliang 发表于2007-08-03 23:57:13  IP: 219.133.123.*
我也想知道。能讨论一下吗。dlx911@126.com
#k7sem 发表于2007-09-05 11:21:57  IP: 61.148.57.*
感谢大家关注,我最近比较忙,没时间回复,我现在不能公开这份代码,因为可能要被商用。 如果需要更详细的解释。可以在MSN里和我交流。
发表评论  


当前用户设置只有注册用户才能发表评论。如果你没有登录,请点击登录
Csdn Blog version 3.1a
Copyright © J2ME区委主任