

Java技术
2005: 03 04 05 06 07 08
09 10 11 12
2006: 01 02
Asp.net
2005: 07 08 09 10 11 12
2006: 01 02

今天任务:加入about选项介绍软件功能及相关信息;增加暂停、翻页功能
进行之前先修正一个bug吧。就是显示第一个屏幕的时候在屏幕的下侧汉字出现叠加现象并且不是一行一个!其实昨晚就发现了,但太晚了,me要休息,所以就放下了。问题应该出在首次生成坐标和字符数列的时候,浏览源码,嘿嘿,果然如此。用全局变量height来限定对数列的规则填充,改为stars.length,ok。该死的东东,可见根据数列进行判断的重要性!
不过说实话,内部类如果不是太大难以维护的话,还是有不少便利,比如变量的共用等。
???初步设想设置一个全局变量pause(boolean)用于控制是否暂停,在pointerPress中反转pause的值。在scroll方法(更新数列)检查pause,如果为真则不更新数列,如果为假则更新。结果测试不行,第一次点击的时候有作用,屏幕停了下来,再次点击屏幕却再也不重新移动!
!!!初始化屏幕画底色时一般容易写成 g.setGrayScale(255);g.fillRect( 0, 0, width, height);其实第二句写为g.fillRect( 0, 0, width - 1, height - 1);才是正解。少画那条不必要也不能显示的线me也不知道能提高多少系统性能,但节约了资源是肯定的,毕竟手机、pda都是cldc嘛,节约一点是一点。
//在屏幕中央打上水印,呵呵
g.setGrayScale(191);
g.drawString("garden.eoooo.com", width/2, height/2-(fonth*3)/2, g.BASELINE|g.HCENTER);
g.drawString("后花园", width/2, height/2-fonth/2, g.BASELINE|g.HCENTER);
g.drawString("heart5", width/2, height/2+fonth/2, g.BASELINE|g.HCENTER);
!!!看到BASELINE又想到了前面调试的错误,忿,再强调一次:string只支持BASELINE,image只支持HCENTER,千万不要错咯。
???再来说drawString的定位,其中fonth是字体高度,意思很明显,屏幕中间一行,紧接着上面一行,下面一行。在motorola j2me Launchpad上测试正常,水印位于中央,但是在NetBean中用从wrk导入的DefaultColorPhone测试却位于屏幕上侧,明显偏上,不知道什么原因?