您所在的位置: 首页 > 开发 > 移动 >

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

http://developer.51cto.com  2007-04-27 13:00  关文柏  Csdn博客  我要评论(0)
  • 摘要:本文介绍J2ME低级界面上一个仿照PC上的智能ABC的输入法的实现。这个输入法作为一个UI组件来出现, 界面上通过Graphics对象来画,控制上通过接收keyPressed(int keycode)和keyReleased(int keycode)的按键值进行键盘操作。
  • 标签:J2ME  低级  界面  中文  输入

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

图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】

2009年上半年软考最新试题与答案
J2ME手机开发技术基础
J2ME游戏开发应用
Linux中文环境
Scala编程语言
 
 验证码: (点击刷新验证码)   匿名发表
  • 亮剑.NET. 图解C#开发实战

  • 作者:李新峰 付志涛 缪勇
  • 本书采用全新的图解思路,分3篇介绍使用微软C#语言开发实际应用程序的基本知识。第1篇包括10章,介绍了C#语言的基础知识,主要..
Copyright©2005-2009 51CTO.COM 版权所有