Kuix是Kalmeo的一个J2ME图形方面的开源项目,很漂亮;
作为一个图形库,它有几个标准配置:
一个基本的Canvas; 这个Canvas叫KuixCanvas;属于包:org.kalmeo.kuix.core;
一个接口;在这个Canvas之上的丰富的图形类库,这个类库都实现了同一个接口,或者继承自同一个适配器类;
这个适配器类叫Widget;属于包:org.kalmeo.kuix.widget;
KuixCanvas是如何将按键事件或者触摸屏事件传递给Widget的呢?KuixCanvas对按键事件的响应是由processKeyEvent处理的;processKeyEvent将按键事件根据Kuix的键值表转化为Kuix定义的键值,然后和按键类型一起,被放在一个int[]中,最后,被添加到一个Vector中;这个Vector叫keyEvents;
对触摸屏事件的处理由processPointerEvent处理,被添加到pointerEvents中;
Kuix为了兼容不同的手机平台,定义了自己的键值表;并通过平台识别,来定义一些特定的键值;
Kuix支持moto/nokia/samsung/索爱/sun;
在KuixCanvas中,有一个workerTask会处理keyEvents和pointerEvents;它遍历整个Vector,获取FocusManager,由FocusManager来处理事件;
在focusManager中,会调用当前具有焦点的Widget的事件处理方法:
focusdWidget.processKeyEvent();
840

被折叠的 条评论
为什么被折叠?



