小积累

      还真不知道写什么,不过呢,又想把它记录下来。blackberry是个很容易入门的平台,但是确实一个很让人烦的平台。代码很容易写,只要会java的人一看就明白了,但是它没有界面库,或者说它的界面库很不友好。5.0以上觉得还稍微好点,4.5及以前的版本简直能让人发疯。感觉就想是java里面的c语言那种。

     所有的组件都由Field继承过来,所谓Field就是一大片白色的区域,等待你去一笔一笔地绘制。我觉得只要知道Field和Manager的概念,基本就能做blackberry的开发了。Manager就有些类似qt里面的layout,但是没那么好用。首先排除它本身没有拖拽的功能以外,写代码也是一种痛苦。比如你添加一个LabelField和一个EditField到一个HorionalFieldManager里面,如果label在前面还好些,如果放在后面的话,就根本看不到label了,因为它不像qt里面layout那么智能,Manager不能限制内部组件的尺寸。你要做的就是控制manager或是EditField的尺寸,而要控制它的尺寸,就需要重写该类,然后使用SetExtent函数来进行设置。

      经过这几个月的项目实践呢,有了一些小小积累。

      1. 和其他java程序一样,在每个类中都可以有自己的入口函数,一般呢是写成public static void main(String[] args){}。而在blackberry里面一般就是把这个函数放入继承于UiApplication的某个类里面,这个入口函数需要做的就是新建该类,然后调用enterEventDispatcher函数,和vc的消息处理一样。需要有界面的话呢,就在构造该类的时候新建一个继承于MainScreen类的类,然后调用UiApplication的函数pushScreen就可以了。

      2. 那个MainScreen的子类就是我们需要关心的东西了,整个界面呢是个空白的manager,我是这么认为的,因为可以使用getmanager函数来获取。并且可以使用add和delete来添加和删除组建,manager也可以使用这两个函数来进行添加。这个方式就可以让该界面进行实时添加删除操作了,且不用全屏操作。比如可以添加一个空白manager,然后把该manager指针记录下来,习惯了,java里面不该叫指针的,然后对该manager操作就ok了。

      3. LabelField可以用SetPadding函数来让它有更多的内部空间,而SetMargining函数可以让它有更多的外部空间。这两个函数是来自Field的,所以所有继承于Field的都可以这么使用。

      4. 如果要绘制border的话,5.0以上可以在外部使用SetBorder函数和BorderFactory来创建border,不过以下的版本就只能用在paintbackground或是paint里面画了。

      5. 绘制background同上。

      暂时写这么多,一时也不知道写什么了。

你可能感兴趣的:(小积累)