自己画J2ME的菜单2007-9-2 10:35:17
前两个月差不多一直在学习EVC编程,学的挺枯燥的。 在网上看了一下j2me的文章,学了一下怎么在Eclipse下搭建环境(菜乌级水平),看看sun自己提供的例子。 发现 j2me 提供的command在不同的终端上显示的风格完全不一样了。而且不支持2级或者以上的菜单(至少我没有发现~)。 突发奇想,为什么不自己做个框架呢,像EVC那样,Windows就是好啊,开发啥都方便,那菜单真好。~ Windows的菜单那个“影子效果“不错,其实就是先画一个带边界线的矩形,然后在右边画一个竖线,下边画一个横线,颜色调好,坐标调好。看起来就像立体感觉了。~~ 然后就学着windows的效果来画吧。反正J2ME提供了一个比较低级的UI类Canvas(对于我这样的莱乌这能用低级类库啦),多亏刚入门java的时候学习了半年多的swing啊,也做过几个关于swing的项目,对于java 画图还是比较熟悉的哈。 说正题吧,想法呢,就是把屏幕分成三个部门。顶端标题栏(Header),低端菜单部分(MenuBar),中间工作区是留给子类去画的。菜单的使用呢,只要你继承这个类就可以了。然后像使用Swing那样,一个对象一个对象的往里面扔吧。你写你的程序,让他自己去画吧。 抽象类要完成对菜单的控制,以及工作区的重画和保存。 经过3天的业余时间终于搞定了。 我认为手机的菜单最多分两级就足够了,而且菜单项不会超过8个。这个是我的假设哈,理论上可以无线分级的啊。 有了这个菜单框架,如果需要自己绘图,那就专心绘图吧,不用关系菜单啥的处理了。。。 目前是预览版本,在我的手机上和模拟器上都测试通过,但是没有对手写机器的支持,下一步找一个手写机器来测试。 还有打算在工作区加上一个滚动条。实现滚动效果。。。目前只支持全屏下的显示。 将来在这个基础上开发一个Table,List,,Calendar....等等。。嘿嘿,等待你一起来开发啊。。。 说了半天了,都是文字累了吧。看看截图吧。。。 (图一):启动界面,我特意加上了icon,按照Windows CE的习惯 菜单在右侧,当然,也可以通过设置布局来调整哦。 (图二点一下右键,菜单就展开了,这个菜单眼悉吧~) (图三:点ok键或者右键,就展开了2级菜单) (图四:选择2级菜单的某项后点了确认键,触发了我注册的事件) (图五:来玩玩用这个工具开发的拼图游戏吧,去掉了那些ICON) (图六:查看排行榜) 看看是如何使用这个工具的呢~ 看看拼图的程序的核心代码~~ private Header header = null; private MenuBar menuBar = null; private Menu mainMenu = null; private MenuItem saveItem = null; private MenuItem topItem = null; private Component label = null; public void actionPerformed(Object obj, IEvent e) { |
|
|