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平台的UI界面分为两种,一种称为高级UI组件,一种叫做低级UI组件...这样就出现一个问题,当涉及到输入文字的时候,还是会回到高级界面调用手机本身的输入法,这给程序的美观性大打折扣,这个程序实现了拼音输入法。
这是我业余时间写的一个J2ME低级界面下的输入法 字库内置在类中 混淆后jar包40K左右 输入法实现了最基本的功能 像拼音 英文大小写 数字 标点 文字显示框为多行编辑模式 在以后的版本更新中会增加触摸屏的支持 输入...
J2me中低级界面字体处理.docJ2me中低级界面字体处理.doc
J2ME源码,低级界面输入数字,针对低级界面的输入法学习示例
在J2ME中一般在高级界面才能调用系统输入法,但是我们常常碰到在canvas中输入汉字的,这个帮我解决了难题
J2ME低级界面的相关演示,Eclipse下的。附一个综合实例贪吃蛇
基于低级界面的j2me UI库类,有demo和源码。高级界面的东西虽然好用但是在不同的手机上面显示得不一样,有的好看有的很丑,但是基于低级界面的就不一样了。在不同手机上显示出来都是一样的,这个UI库类是企业级的。...
J2ME 低级画布实现中文输入,自己写的
j2me输入法。
在J2me的Canvas类中调用中文输入法
J2ME三种低级用户界面事件处理技术比较
J2ME在低级界面实现输入文字的操作实例代码
J2ME 输入法源码 J2ME 输入法源码 J2ME 输入法源码 J2ME 输入法源码
NULL 博文链接:https://viking168.iteye.com/blog/719252
j2meUI低级界面开发实例,图片加载,按钮选择等
A*算法(j2me实现)A算法使用j2me实现
NULL 博文链接:https://lsdev.iteye.com/blog/1068323
非官方详细的资源描述有机会获得我们的推荐,更有利于他人下载,赚取更多积分。
J2ME实现的断点续传,解决下载文件问题
用j2me语言实现在手机上实现九宫图 处理了焦点的移动问题 以及焦点落定后 事件处理的问题