欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

lwuit ---一些细节疑难杂症整理笔记

发布时间:2024/4/15 编程问答 40 豆豆
生活随笔 收集整理的这篇文章主要介绍了 lwuit ---一些细节疑难杂症整理笔记 小编觉得挺不错的,现在分享给大家,帮大家做个参考.
1、textArea 显示文本内容,在部分手机上无法显示全部内容,每一行的最后几个字被挡住琢磨了很久终于找了出来,解决方案如下:TextArea txtContent = new TextArea(strContent, 12, 24);//添加这一句即可txtContent.setWidestChar('一');2、若要对文本框中的内容设置补丁:txtContent.getStyle().setPadding(Component.RIGHT, 10);内容往右10像素。3、如果list上不想要显示文字多余时的省略号name.setEndsWith3Points(false);4、重写Dialog要让标题与Form的样式一致dialog.show(100, 100,100,100, true);5、声音播放try {InputStream is = getClass().getResourceAsStream("/res/NewMailSound.wav");Player player = Manager.createPlayer(is, "audio/x-wav");player.start();} catch (Exception e) {e.printStackTrace();} 6、使得TextField也能够在触屏手机上点击时出现输入编辑解决方法:在TextField源码上 加上editString();函数:public void pointerReleased(int x, int y) {// unlike text area the text field supports shifting the cursor with the touch screeneditString();String text = getText();int textLength = text.length();int position = 0;Font f = getStyle().getFont();x -= getAbsoluteX();for(int iter = 0 ; iter < textLength ; iter++) {int width = f.substringWidth(text, 0, iter);if(x > width) {position = iter;} else {break;}}if(position == textLength - 1) {if(f.stringWidth(text) < x) {position = textLength;}}setCursorPosition(position);repaint();} 或者官方的解决方法:http://forums.java.net/jive/thread.jspa?threadID=52716 7、震动public void MakeVibrate() {new Thread() {public void run() {try {Display.getInstance().vibrate(2000);} catch (Exception e) {e.printStackTrace();}}}.start();} 8、导致内存激增的原因(可以用自动模拟器的内存检测器进行监测C:\WTK2.5.2\bin\prefs.exe将你要的设置勾选)而lwuit里面的源码有两句是会导致内存一直占用,一个是TextField中的这段代码Code一个是DisplaylwuitGraphics.setGraphics(impl.getNativeGraphics());这两个暂时还没有仔细去研究,但是确实吃内存的所在。还有就是要巧用System.gc();进行内存回收,这样就会尽量的减少内存溢出的情况。9、滚动条拖拽方向与内容显示相反,component中的代码修改如下Code10、开启wtk模拟器的触摸屏功能打开\wtklib\devices\DefaultColorPhone目录下的DefaultColorPhone.properties文件(最好先安装一个UltraEdit之类的文本编辑器)。然后找到touch_screen选项,修改为touch_screen=true11、设置模拟器权限,以免开发过程中弹出烦人的提示打开wtk模拟器。选择Edit->Preferences->Security然后将Security domain的选项设置为maximum。12、内存和性能监视器Edit->Preferences->Memory MonitorEdit->Preferences->Profiler13、出现安装后无法打开问题有些Nokia手机会出现安装后无法打开,原因是安装包名称包含中文导致。14、想要保存Sun Java (TM) Wireless Toolkit 2.5.2 for CLDC模拟器的RMS值,可以通过Preference - 存储(s)存储根目录  :(例:/disk)  来设置.(选择你想要用的模拟器)然后到C:\Documents and Settings\Administrator\j2mewtk\2.5.2\appdb\DefaultColorPhone\filesystem\root1 建disk文件夹。若出现了已经设置好后,仍然不能起到保存作用,到C:\Documents and Settings\Administrator\j2mewtk\2.5.2\appdb\disk 中将相应的RMS文件删除即可。15、在S60 3th FP2版本上会出现String Index Out of Bounds Exception;原因DefaultLookAndFeel.java,在计算字符超过屏幕时出现异常。int widest = f.charWidth('W');必须改成int widest = f.charWidth('一');16、如果客户端创建出现cvs [server aborted]: "add" requires write access to the repository,将服务器端的CVSNT Advanced的All user are read即可.17、NokiaS60手机出现string index异常的原因。com.sun.lwuit.Font.charWidth(char)1、TextArea  line:186private static char widestChar = '国';2、HTMLTextArea  line:33private static char widestChar = '一';3、DefaultLookAndFeel  line:1124int widest = f.charWidth('国'); 

转载于:https://blog.51cto.com/zhaohaiyang/435612

总结

以上是生活随笔为你收集整理的lwuit ---一些细节疑难杂症整理笔记的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。