使用lwui遇到的一些常见问题:
1. 模拟器一闪而过,出现classnotfound异常
一般可能是因为开发环境不兼容问题,建议采用Eclicpse 3.4、JDK1.6、插件EclicpseMe1.7.9、模拟器:WTK2.5.2相搭配。别一种可能是因为引入的lwuit没有置顶的关系,只是按下图操作配置一下就可以了。
2. 如何装控件居中,控件定位问题
控件只出现次数少的,可以按以下代码实现定位
f = new Form("Form");
f.setLayout(new BoxLayout(BoxLayout.Y_AXIS));
bt_reset=new Button("重置");
bt_reset.setPreferredW(50);
Container csubmission = new Container(new FlowLayout(Component.CENTER));
csubmission.addComponent(bt_reset);
f.addComponent(csubmission);
f.show();
出现次数较多的话最好自己写一个控件出来,不然会比较消耗资源。
3. 文本域显示文字不全,每一行最后几个字看不到的问题
这个问题,只会在一部分机型是出现,像winmobile系统的手机一般没有问题,但Symbian系列的上面会有文字显示不全的问题。这个问题我采用了很我多种方法去解决,都不见成效,迫不得已查看源码,结果真是因为那边的问题,lwuit原本就没有汉化,所以计算文字的长度时是把一个字当一个字母来计算的,英文字母的长度比中文的小,所以每一行里的文字字数按照它的计算会比现实多几个。
解决方案:将源码里面被用来计算文字长度的英文字母改成中文。
4. list过长,下面的项显示不出来?
List显示问题,程序写出来发现在list过长时,不会滚动,下面的内容全部无法查看。经查看原demo发现需要设置form.setScrollable(false);因为当加进form里时,整个list被视为一个控件,而在默认情况下form.setScrollable(true),在这种情况下,界面内容过长时会自动滚动,但是它是靠移动焦点来滚动的。而整个list这种情况下只占一个焦点所以不能滚动。
解决方案:form.setScrollable(false);,
转载注明出处:j2me 交流群:65676039 ----逐梦