用J2ME实现低级界面中文输入法

2007-04-28     推荐:217552356    收藏:140769043    评论:0     来源:Csdn博客 

【引自关文柏的博客】J2ME平台的UI界面分为两种,一种称为高级UI组件,一种叫做低级UI组件。高级的UI组件使用方便,创建一个窗口只需要把参数传入相应的构造就可以了。但是高级UI组件无法自定义样式,一般都是手机默认的样式。如果想界面美观只能用低级界面来画出来。这样就出现一个问题,当涉及到输入文字的时候,还是会回到高级界面调用手机本身的输入法,这给程序的美观性大打折扣。所以我尝试性的用J2ME写了一个仿照PC上的智能ABC的输入法,可以直接在低级界面上使用,因为它是由Graphics对象画出来的。以下是调用的效果:

498)this.style.width=498;'' onmousewheel = ''javascript:return big(this)'' src="/files/uploadimg/20070427/1308490.jpg">
图1

这个输入法作为一个UI组件来出现, 界面上通过Graphics对象来画,控制上通过接收keyPressed(int keycode)和keyReleased(int keycode)的按键值进行键盘操作。大体功能如下:

1、支持汉字,英文大小写,数字,特殊符号输入。

2、闪动的光标指示,可以通过方向键进行移动,便于插入和修改文字。

3、可以限制功能,比如只允许输入汉字,只允许输入英文等等。

4、字符的复制,粘贴,剪切功能(尚未实现)。

当然这个输入法类需要一个Textfield或者TextBox类来配合使用,当然这两个类也要用低级界面来从新实现才可以。

这个输入法由一个数据文件(字库)和一个类文件组成,数据文件大约10K左右,类文件大约1000行。字库包含所有常用汉字,实际占用的Heap内存大约在40k左右,或者低于这个值,因为测试的时候,我的界面上还有其它很多的UI在同时运行。这个输入法对于J2ME的应用程序的界面风格会起到很大的帮助,所以我想这点内存花销应该是值得的。

【责任编辑:火凤凰 TEL:(010)68476606-8007】


您可以针对本文进行:[评论]  [收藏]  [推荐]   [查看原文链接]  
  • 共有0条评论  点击查看更多评论
  • 网友评论仅供网友表达个人看法,并不表明e800同意其观点或证实其描述
我想发表评论:
用户名密码
  • 匿名发表
    验证码: