[JavaME]在高级UI上的keyPressed事件截获的说明

譬如说你是在一个Form上,那么有一点点不幸。
据我所知,除非你在Form上加一个CustomItem,并且选中它,那么你的
protected void keyPressed(int key) {
    System.out.println("Key pressed: "+key);
}
能够打印出你的按键。
但是如果你当前焦点在TextField或其他lcdui.Item,那么不可能截获按键。

如果我说错了,请指出。

譬如说你当前是在一个Canvas上,ok,
To "catch" an event, just implement one of

# showNotify()
# hideNotify()
# keyPressed()
# keyRepeated()
# keyReleased()
# pointerPressed()
# pointerDragged()
# pointerReleased()

如果你特地针对keyPressed,那么:
public class MyCanvas extends Canvas {
  MyMIDlet midlet;  // the midlet reference
  public MyCanvas(MyMIDlet m) {
    midlet = m;
  }
  protected void keyPressed(int keyCode) {
    if (getGameAction(keyCode) == Canvas.FIRE) {
      midlet.firePressed();
    }
  }
}

不过,值得注意的是,手机的按键并不能保证个个都能拿到,而且上下左右之类的特定意义的按键也未见得都有,所以小心。

时间: 2024-09-23 19:13:18

[JavaME]在高级UI上的keyPressed事件截获的说明的相关文章

MIDP高级UI的使用(一)LCDUI包的体系结构

首先看看整个LCDUI包的体系结构图: Screen 类属于高级图形用户界面组件,Canvas是低级图形用户界面组件,在同一时刻,只能有唯一一个Screen或者Canvas类的子类显示在屏幕上,我们可以调用Display的setCurrent()方法来将前一个画面替换掉,我们自行将前一个画面的状态保留起来,并自己控制整个程序画面的切换. 同时我们可以运用 javax.miroedition.lcdui.Command类来给我们的提供菜单项目的功能,分别是:Command.BACK. Comman

javase-java怎么获取其他软件界面上的按钮事件(例如:酷狗音乐上的按钮)

问题描述 java怎么获取其他软件界面上的按钮事件(例如:酷狗音乐上的按钮) java怎么获取其他软件界面上的按钮事件(例如:酷狗音乐上的按钮)有这种方法吗 解决方案 拦截那个软件的消息,参考spy++的实现.spy++是微软提供的一个开放源代码的监视别的程序消息的程序. 解决方案二: 如果是标准windows控件,可以通过SendMessage等方式来触发按钮事件但是酷狗这种一般都是用了皮肤库等,估计需要模拟键盘操作等才能有用 解决方案三: 获取按钮使用FindWindow API,需要用JN

安卓中如何在桌面图标上监听事件???

问题描述 安卓中如何在桌面图标上监听事件??? 在MIUI V5中垂直滑动音乐图标可以弹出快捷窗口,这是什么监听事件?如何实现???求大神??? 解决方案 这是小米的 launcher本身的功能,你的程序肯定监听不了那个事件的. 也就是说不更改framework那一层,单纯从Application这里来讲没有办法实现这个效果......

javaweb jq...-JQ在一个ul下所有的li上绑定单机事件 单机时获得ID

问题描述 JQ在一个ul下所有的li上绑定单机事件 单机时获得ID JQ在一个ul下所有的li上绑定单机事件 单机时获得ID 我写的这个不对!求JQ高手解答 解决方案 li 写成 il 了好像 解决方案二: $('#topic_ul').on('click','li',function.... 解决方案三: $(document).ready(function(){ $("#topic_ul li").each(function(){ $(this).click(function(){

边框 红米 点击事件-红米手机上点击事件出现红框

问题描述 红米手机上点击事件出现红框

chrome-C#开发的ActiveX谷歌浏览器上js触发事件问题 紧急求解

问题描述 C#开发的ActiveX谷歌浏览器上js触发事件问题 紧急求解 ActiveX利用网银插件ActiveX for chrome加载到chrome上.但是事件在js中无法触发, 有做过这方面的大牛请帮帮忙! 解决方案 最好用ie浏览器试试的,js上引用那个ocx控件 解决方案二: 关键我这个项目要chrome啊

java-如何在struts2标签<s:textfield>上添加鼠标事件

问题描述 如何在struts2标签<s:textfield>上添加鼠标事件 如何struts2标签上添加鼠标事件,需求如下: 鼠标进入后在其下方显示一个可输入的 在下方输入数字后鼠标移出, 下方的中的数据转到原中然后下方隐藏, 给个思路或框架,本人对struts2标签不是很熟. 谢谢 解决方案 一般都是用js绑定鼠标事件,很容易实现你说的功能. 解决方案二: struts2的s:textField标签问题struts2 在之间添加或其他标签是出现可能的错误struts2中s:iterator

ios-IOS里json数据中有一段JavaScript的数据,怎么把这部分显示到UI上?

问题描述 IOS里json数据中有一段JavaScript的数据,怎么把这部分显示到UI上? <span style=""font-size:18px;color:#666666;"">有人说:女生,都该拥有一双好鞋,因为它会带你走向美好的未来』,还有人说:『女生,也该拥有一盒咖啡眼影,因为它会为你带来前所未有的美眼』.虽然是每季都会出现的实用咖啡色,但今年秋冬更进化为带点轻熟感的优雅可可色,眼睛变大了,气质指数还能瞬间攀升,一举数得!</span

编程-如何在select option上挂在事件?

问题描述 如何在select option上挂在事件? 当我点击option的时候触发事件,抓到option里面的文字,提交到后台 解决方案 onchange 解决方案二: 当select的值改变触发onchange事件,然后抓取到select的值就行. 解决方案三: $('#mySelect').change(function() { var para = $(this).children('option:selected').val();// 这就是selected的值 $.ajax({ u