您的位置:首页 > 产品设计 > UI/UE

LWUIT架构分析(一)

2010-04-18 11:19 211 查看
使用LWUIT库的第一个方法总是:Display.init(this);在这个方法里面做了些什么呢?

它涉及到了几个重要的类:Display、ImplementationFactory、LWUITImplementation、GameCanvasImplementation和Graphics类。

ImplementationFactory类是用来创建LWUITImplementation及其扩展类的对象的。Display.init的第一条语句就是调用ImplementationFactory的createImplementation方法,通过ImplementationFactory而不是直接构建GameCanvasImplementation的好处在于结构上的清晰和增强了灵活性。因为,对于Display来说,它是不需要知道GameCanvasImplementation类的存在的,它只需要知道有一个LWUITImplementation或者继承它的对象的存在就行。

在GameCanvasImplementation中,创建了一个GameCanvas的对象,LWUIT中所有UI都是在这个原生的GameCanvas上绘制的。

Display.init创建了Canvas后,会启动一个叫mainEDTLoop的线程,这个线程的优先级比普通线程要高。mainEDTLoop的任务就是从记录按键事件的Vector中取出按键,调用当前的Form处理这些按键事件,最后,调用LWUITImplementation类的paintDirty方法调用所有的Component的paintComponent方法绘制。最后FlushGraphics显示。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: