浏览 3583 次
锁定老帖子 主题:j2me中Canvas长字符串显示自动换行
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2008-10-16
首先是把字符串每一行进行分割,存放到Vector中。 /** * 按字节数把字符串分组,支持中文 */ public static Vector splitStr(Font f, String str, int length) { if (str == null) return null; Vector result = new Vector(); char[] tempChar = str.toCharArray(); int lengthPX = 0; StringBuffer sb = new StringBuffer(); for (int i = 0; i < tempChar.length; i++) { lengthPX += f.charWidth(tempChar[i]); if (lengthPX > length || tempChar[i] == '\n') { result.addElement(sb.toString()); sb = new StringBuffer(); lengthPX = f.charWidth(tempChar[i]); if (tempChar[i] != '\n') { sb.append(tempChar[i]); } } else { sb.append(tempChar[i]); } } if (sb.length() > 0) result.addElement(sb.toString()); return result; } 然后可以遍历这个Vector,调用g.drawString来显示字符串。需要在y坐标上累计字体的高度。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |