J2ME中用低级界面实现简单的数字输入

最近在写一个j2me程序 其中包括一个数字输入的textfield 在手机上面实现的时候(s40模拟器)数字的输入很烦琐,所以想避开这种问题 于是改用低级界面实现:

private StringBuffer sb=new StringBuffer(); //定义一个StringBuffer用来保存输入的数字
private int len=4; //想输入的数字的长度
private int temp; //取数字
protected void paint(Graphics g)
{
g.setColor(WHITE);
g.fillRect(0,0,getWidth(),getHeight());
g.setColor(BLACK);
g.drawString(sb.toString(),getWidth()/2,getHeight()/2,Graphics.TOP|Graphics.HCENTER); //显示输入内容
}
protected void keyPressed(int keynum)
{
if (sb.length()==len) //开始键功能描述
{
switch (keynum)
{
case KEY_STAR:
temp=Integer.parseInt(sb.toString()); //得到了屏幕中输入的数字 接下来自己可以利用数字按下*开始动能
break;
default:
break;
}
}
if (sb.length() {
switch (keynum)
{
case KEY_NUM1:
sb.append("1");
break;
case KEY_NUM2:
sb.append("2");
break;
case KEY_NUM3:
sb.append("3");
break;
case KEY_NUM4:
sb.append("4");
break;
case KEY_NUM5:
sb.append("5");
break;
case KEY_NUM6:
sb.append("6");
break;
case KEY_NUM7:
sb.append("7");
break;
case KEY_NUM8:
sb.append("8");
break;
case KEY_NUM9:
sb.append("9");
break;
case KEY_NUM0:
sb.append("0");
break;
default: break;
}
}
if(sb.length()>0) //退格键函数描述
{
if(keynum==KEY_POUND) sb.deleteCharAt(sb.length()-1);
}
repaint();
}
protected void keyReapeated(int keynum)
{
if(sb.length()>0) //长按一次性去除建函数描述
if(keynum==KEY_POUND) sb=null; }
repaint();
}

注意:keyReapeated()方法JTWI 并未做硬性规定,所以我们在开发的时候一定要用Canvas.hasRepeatedEvents()方法来进行实际的侦测。

时间: 2025-01-01 20:39:25

J2ME中用低级界面实现简单的数字输入的相关文章

如何在J2ME的低级界面中轻松实现各种文字的自然分行显示

显示 做游戏的时候,特别是在一些对话比较多的情况下,如RPG游戏,常常遇到文字的断行显示问题如何做到不管如何变化文字,都能够比较好地显示呢,下面有一个函数可以对文字进行分行,然后就可以一行行地打印了 第四个参数主要是对像英语这样多个字母组成一个单词的语言而设置的,因为像英语你不能把一个单词一分为二成两行的,可以传入一些分词的标志,如空格.标点符号什么的,如" ,.?!"中文没有关系但是日文我也闹不大清楚,不知道它是怎么分词的,是和中文一样,还是和英文一样 /**@todo 对一段文字进

java中用集合写一个简单的登录功能。麻烦大家看一看

问题描述 java中用集合写一个简单的登录功能.麻烦大家看一看 //这是注册的方法 public static void reg(){ Collection id=new ArrayList();//账户 Collection passWord=new ArrayList();//密码 Scanner sc=new Scanner(System.in); System.out.println("请输入账号:"); id.add(sc.next()); System.out.printl

三个界面的简单跳转问题 在线等

问题描述 三个界面的简单跳转问题 在线等 有三个Activit,分别为Activity1,2,3现在从Activity1跳转到2然后再跳转到3,可以把Activity3的值用startActivityForResult方法返回给Activity1么?Activity1没有直接跳转到Activity3 解决方案 使用SharedPreferences保存第三个界面的信息,在第一个页面调用this.getSharedPreferences('sharedPreference name' int mo

关于高级界面跳转低级界面问题

问题描述 最近做项目,遇到一个高级界面跳转到低级界面时碰到的一个问题,就是会一直按住-5键值的按键,有时候就是闪屏.本身程序是在运行在低级界面,跳到高级时是正确的,高级相应工作处理完后,跳回低级界面就出现上述问题.请高人解答,不甚感激! 解决方案 解决方案二:高级界面低级界面解决方案三:你的低级界面,是不是按住5键值时一直在刷新,所以才有这样的情况?解决方案四:低级界面有没有使用双缓冲机制?我的未出现过这种问题啊..解决方案五:你是跳到高级界面输入汉字,然后又跳转回来吧?这个问题貌似在nokia

C#里不卡死界面最简单的办法是什么?

问题描述 win32上用c++,一句CreateThread就搞定一切,不卡界面,完全能访问界面等等,没啥缺点,简单高效,一行搞定但上了C#,发现网上大多推荐开线程+托管,样例代码都比想象中的复杂这样的话,c#感觉还不如c++了...我想应该还有更好的方法吧?极简单的代码的高手们,有能几行搞定的吗?简单就是王道,易懂又好写卡死的代码可以理解为:超长时间运算(死循环)并不停的使UI发生变化(类似于cmd中的printf一样,不停的向界面Text文本框中输出LOG信息) 解决方案 本帖最后由 sun

J2ME中使用Canvas制作简单的游戏菜单

菜单 我们知道MIDP的图形用户界面分为两类,分别是高级图形用户界面和低级用户界面.一般来讲高级图形用户界面类使用起来比较方便,可移植性强,但是程序员对他的控制能力也很低,因为它们的界面表现是由底层控制的,而不是我们控制的.相比高级UI类,低级UI类则使用起来更难一些,但是控制能力更强,可以做出自己需要的界面. Canvas和Graphics是我们必须熟练使用的两个类,分别代表了画布和画笔(事实上更丰富,姑且这么比喻).而我们则是画画的人,而指导我们如何下笔的就是java doc了,再加上勤奋努

使用jQuery UI库开发Web界面的简单入门指引_jquery

一.jQuery UIjQuery UI 是以jQuery 为基础的开源JavaScript 网页用户界面代码库.包 含底层用户交互.动画.特效和可更换主题的可视控件.我们可以直接用它来构建具有很 好交互性的web 应用程序. jQuery UI 的官网网站为:http://jqueryui.com/ jquery-ui-x.xx.x.custom.zip .里面目录结构如下: 1.css,包含与jQuery UI 相关的CSS 文件: 2.js,包含jQuery UI 相关的JavaScrip

Google AdSense推出v3新界面 更加简单易用

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 本月上旬Google AdSense推出新一版本的后台,以v3为版本号的AdSense新界面让用户耳目一新.AdSense在原来版本的基础上重新做了架构调整和数据的梳理,新版的Google AdSense在使用上更加简单化和易用化,这样的改变更大地适应不同用户群体的需求. Google AdSense栏目调整 Google AdSense v

手机上J2ME的3D编程-简单创建3D立方体(1)

编程|创建 参考文档:JSR-184 工具:Eclipse3.0+Eclipseme API:Mobile 3D Graphics API 模拟器:Sony Ericsson 分析: 在现实生活中,我们所看到的是一个3维系统.透过双眼,可以看到的是一个丰富多彩的世界.我们所用的照相机,能够拍出很多漂亮的图片.拍摄每张图片时,可以根据拍摄距离的远近可以调整所拍摄画面上的内容. 在虚拟的世界里,可以模拟真实世界.欲将虚拟世界展示出来,就要利用一个虚拟的照相机,将虚拟的世界拍摄出来. 在JSR-184