分析MIDP低级事件处理机制

在MIDP高级事件处理机制中我们讲述了如何实现CommandListener和ItemStateListener接口来完成高级事件处理。但是来自于键盘输入的低级事件是不能由Command来完成的。你必须继承Canvas类并覆盖其中的方法来完成低级事件的处理。

通常低级事件的处理是为了满足游戏开发的需要,因为游戏开发相关的问题非常复杂。因此不在这里进行阐述,有兴趣的朋友可以和我索要相关的游戏开发资料。MIDP定义了如下键值在Canvas类内

KEY_NUM0

KEY_NUM1

KEY_NUM2

KEY_NUM3

KEY_NUM4

KEY_NUM5

KEY_NUM6

KEY_NUM7

KEY_NUM8

KEY_NUM9

KEY_STAR

KEY_POUND

这些都是按键基本值,为了提高程序的可移植性你应该经可能的使用标准键值,当然有些手机是触摸屏的。事件的传递是通过如下方法来实现的。

protected void keyPressed(int keyCode)

protected void keyReleased(int keyCode)

protected void keyRepeated(int keyCode)

protected void pointerPressed(int x, int y)

protected void pointerDragged(int x, int y)

protected void pointerReleased(int x, int y)

protected void showNotify()

protected void hideNotify()

protected abstract void paint(Graphics g)

commandAction() method of the CommandListener interface

时间: 2024-11-18 16:15:29

分析MIDP低级事件处理机制的相关文章

分析MIDP的高级事件处理机制

MIDP中的事件处理机制在J2ME用户图形界面开发中具有举足轻重的地位,本文将深入分析MIDP高级事件处理机制,本文提供的程序是新手学习不错的例子.在接下来的文章我会继续讲述低级事件处理机制. MIDP的事件处理处理机制同样是采用回调的机制,你可以参考AWT的事件处理原理.在MIDP中分高级事件处理和低级事件处理,前者主要是针对高级UI,而后者主要是这对Canvas这样的低级UI的.不管怎样,我们必须首先介绍的是Command类,移动信息设备的输入主要来自于手机的键盘,导航则主要是由按钮来完成的

JAVA图形界面(GUI)之事件处理机制

之前几篇博客中,我们编写了一些示例,但是这些示例并不能与读者进行交互,读者之所以对图形界面感兴趣,就是因为图形界面与读者交互能力强.但是单纯的界面是没有使用价值的,要是图形界面能与读者交流,那么必须了解java的事件处理机制. 首先组件要先注册事件处理器,当读者单击组件.移动鼠标或者敲击键盘都会产生事件(Event).一旦有事件产生,应用程序做出对该事件的响应,这些组件就是事件源(Event Source).接受.解析和处理事件,实现和读者交互的方法称之为事件处理器(Event Handler)

java和C#事件处理机制

在学习一门语言的时候,如果没有对它的事件处理机制有很好的了解的话,是不算学好了的.我学java和C# 也有一段时间了.在它们过多的相似甚至相同的地方,突然出现一个大相径庭的事件处理机制.于是想和大家分享一下自己的看法.java中采取的是面向对象的机制.C#中沿袭了C/C++中的函数回调机制.如在java中,要实现自定义事件处理,必须经过如下的步骤:1 开发自定义事件类.2 定义监听者接口.3 定义事件激发者的接口. public void add监听者(监听者): public void rem

C#的事件处理机制应用

如果要在C#中定义一个事件,首先你要创造一个delegate(委派),用他来定义一个你所想使用事件的标签,然后你才能使用event关键字,在这个委派的基础上定义一个事件. 两点需要注意的是:第一,首先你要创造一个委派,第二,根据你所创造的委派来定义一个事件,这才是一个完整的事件定义. 假设我们把书中的Product类进行增强.加入了一个NameChanged事件,此事件只有当Name通过属性渠道被更改时就会发生.而如果私有变量name是通过类的内部代码被修改时,此事件不会发生.代码如下: pub

浅析Visual C#事件处理机制(1)

visual 事件简介: 任何进行过图形用户界面开发的编程人员都会知道事件的概念.当用户在使用程序的时候,用户必然要和程序进行一定的交互.比如当用户点击窗体上的一个按钮后,程序就会产生该按钮被点击的事件,并通过相应的事件处理函数来响应用户的操作.这样用户的直观感觉就是程序执行了我要求的任务了.当然,事件并不一定是在和用户交互的情况下才会产生的,系统的内部也会产生一些事件并请求处理的,比如时钟事件就是一个很好例子.不过要介绍C#中的事件处理机制(扩展到更广的范围便是整个.Net框架),我们首先得明

[叩响C#之门]第16章 委托和事件 16.4 事件处理机制

16.4 事件处理机制 16.4.1 事件处理机制的原理 我们已经知道,Windows应用程序是需要事件驱动的,当一个窗体应用程序启动后,系统就不停的检测是否有事件发生,如果检测到事件,就执行对应的事件处理程序.

Java GUI编程中的事件处理机制详解

1)事件:用户对程序的某一种功能性操作. Java中的事件主要有两种: 1.组件类事件 componentEvent.ContainerEvent.WindowEvent.FocusEvent.PaintEvent.MouseEvent共六大类, 它们均是当组件的状态发生变化时产生. 2.动作类事件 ActionEvent.TextEvent.AdjustmentEvent.ItemEvent共四类. 它们均对应用户的某一种功能性操作动作. Java中的事件类都包含在JDK的 Java.awt.

Cocos2d-JS事件处理机制

在很多图形用户技术中,事件处理机制一般都有三个重要的角色:事件.事件源和事件处理者.事件源是事件发生的场所,通常就是各个视图或控件,事件处理者是接收事件并对其进行处理的一段程序.事件处理机制中三个角色在Cocos2d-JS引擎事件处理机制中也有这三个角色.1.事件事件类是cc.Event,它的类图如下图所示,它的子类有:cc.EventTouch(触摸事件).cc.EventMouse(鼠标事件).cc.EventCustom(自定义).cc.EventKeyboard(键盘事件)和cc.Eve

Cocos2d-x 3.0 新特性体验-触摸事件处理机制

在cocos2d-x 2.x版本中,相信大家都抱怨过其中的触摸机制:在3.0版本中,采用了全新的触摸事件处理机制. 在官方的文档中:点击打开链接  这篇文章有对新的事件分发机制的介绍. 下面,我将通过引擎中自带的sample来探索一下这个新的触摸事件处理机制. 注:例子来自Test cpp/NewEventDispatcherTest 一.例子1 (1)创建三个精灵 [cpp] view plaincopy auto sprite1 = Sprite::create("Images/CyanSq