[J2ME] 根据行宽和字体大小给指定字符串分行

来源:互联网 发布:嵌入式系统编程 编辑:程序博客网 时间:2024/05/18 10:47


以下转载自:http://blog.csdn.net/zw_errrun/archive/2007/07/23/1702969.aspx


[J2ME] 根据行宽和字体大小给指定字符串分行 
    public static String[] getStringsByLen(Font font, String theStr, int lineLen) ...{
        
int start = 0;
        
int preoffset = theStr.indexOf(' ', start);
        
int offset = 0;
        Vector vec 
= new Vector();
        
for (;;) ...{
            
if (offset != 0)
                preoffset 
= offset;
            offset 
= theStr.indexOf(' ', offset);
            
if (offset == -1) ...{
                vec.addElement(theStr.substring(start, preoffset));
                String str[] 
= new String[vec.size()];
                
for (int i = 0; i < str.length; i++) ...{
                    str[i] 
= (String) vec.elementAt(i);
                }

                
return str;
            }

            
if (font.stringWidth(theStr.substring(start, offset)) > lineLen) ...{
                vec.addElement(theStr.substring(start, preoffset));
                System.out.println(theStr.substring(start, preoffset));
                start 
= preoffset;
                preoffset 
= theStr.indexOf(' ', start);
                offset 
= start;
            }

            offset
++;
        }

    }