首页 / 软件开发 / JAVA / 一些实用的图形用户界面方法
一些实用的图形用户界面方法2011-02-10 j2medev 玩狙青年这个函数已反复应用于多个手机应用软件平台用法:参数定义:str——要分割的字符串font——字体rowMaxW——分割后每行宽度支持标示符:
换行 插入两个汉字长度的空格public static final String[] clipString(String str,Font font,int rowMaxW){
if(str == null)
return null;
if(rowMaxW < font.charWidth("哈"))
rowMaxW = font.charWidth("哈");
int strID = 0;
int rowW = 0;
Vector strManager = new Vector();
char ch = " ";
while(str.length() > strID){
ch = str.charAt(strID);
switch(ch)
{
case "
":
strManager.addElement(str.substring(0,strID));
str = str.substring(strID+1);
rowW = 0;
strID = 0;
break;
case " ":
StringBuffer sb = new StringBuffer(str);
sb.deleteCharAt(strID);
sb.insert(strID," ");
str = sb.toString();
break;
default:
if(rowW + font.charWidth(ch) > rowMaxW){
strManager.addElement(str.substring(0,strID));
str = str.substring(strID);
rowW = 0;
strID = 0;
}else{
rowW += font.charWidth(ch);
strID++;
}
}
}
strManager.addElement(str);
String[] o_Str = new String[strManager.size()];
strManager.copyInto(o_Str);
return o_Str;
}