最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
如何在J2ME的低级界面中轻松实现各种文字的自然分行显示
时间:2008-01-12 编辑:简简单单 来源:一聚教程网
如何做到不管如何变化文字,都能够比较好地显示呢,下面有一个函数可以对文字进行分行,然后就可以一行行地打印了
第四个参数主要是对像英语这样多个字母组成一个单词的语言而设置的,因为像英语你不能把一个单词一分为二成两行的,可以传入一些分词的标志,如空格、标点符号什么的,如“ ,.?!”
中文没有关系
但是日文我也闹不大清楚,不知道它是怎么分词的,是和中文一样,还是和英文一样
/**@todo 对一段文字进行分行,这种分行是针对于某个字体的
* @author efei
* @param strSource String 待分行的字符串
* @param font Font 使用的字体
* @param width int 分行后需要满足的宽度
* @param strSplit String 断词判断字符,如空格和一些标点符号。中文不需要断词,则传空字符串
* @return Vector
*/
public Vector getSubsection(String strSource,Font font
,int width,String strSplit){
Vector vector = new Vector();
String temp=strSource;
int i,j;
int LastLength = 1;
int step = 0;
try{
while (!temp.equals("")) {
i=temp.indexOf(" ");
if(i>0){
if(font.stringWidth(temp.substring(0,i-1)) >= width){
i = -1;
}
}
if(i==-1){
if(LastLength>temp.length()){
i = temp.length();
}else{
i = LastLength;
step = font.stringWidth(temp.substring(0, i)) > width ? -1 : 1;
//得到临界点
if(i
&& font.stringWidth(temp.substring(0, i + 1)) > width)) {
i = i + step;
if (i == temp.length())
break;
-
上一个: J2ME学习笔记(二)
-
下一个: J2ME Read Cookies
相关文章
- PS输入文字使用的小号字体但是显示出来却很大该怎么办? 01-06
- 银河文明3文字显示不全怎么办 文字显示不全解决方法分享 05-24
- 《银河文明3》文字显示不全解决方法 05-15
- 文字tilte显示 09-02
- 文字显示的 打字机效果 04-04
- 文字从小变大显示 01-16