- 根据提供的原始字符串和自定义分隔符,指定长度,进行字符串自动换行功能。当字符串遇到指定的分隔符或者是达到指定的长度从而进行字符串的截取。英文字符串达到指定长度后查找最后一次出现的空格进行截取。
- public static String[] splitString(String s , int len , Font font , char mark , String language){
- Vector v = new Vector();
- while(s != null && (s.indexOf(mark) >= 0 || font.stringWidth(s) > len)){
- for(int i = 0 ; i < s.length() ; i++){
- if(s.charAt(i) == mark){
- if(i == s.length() - 1) {
- v.addElement(s.substring(0 , i));
- s = null;
- break;
- }else{
- v.addElement(s.substring(0 , i));
- s = s.substring(i + 1);
- break;
- }
- }
- String temp = s.substring(0 , i + 1);
- if(font.stringWidth(temp) > len){
- int spaceIndex = temp.lastIndexOf(' ');
- if(language.equals(NavigationMIDlet.LANGUAGE_DES_CHI) || spaceIndex < 0){
- v.addElement(s.substring(0 , i));
- if(i == s.length() - 1) {
- v.addElement(s.substring(i));
- s = null;
- break;
- }else{
- s = s.substring(i);
- break;
- }
- }else{
- v.addElement(s.substring(0 , spaceIndex));
- if(spaceIndex == s.length() - 1) {
- v.addElement(s.substring(spaceIndex));
- s = null;
- break;
- }else{
- s = s.substring(spaceIndex + 1);
- break;
- }
- }
- }
- }
- }
- if(s != null) v.addElement(s);
- String []result = new String[v.size()];
- Enumeration e = v.elements();
- int index = 0;
- while(e.hasMoreElements()){
- result[index] = (String)e.nextElement();
- index++;
- }
- return result;
- }
J2ME文字自动换行
最新推荐文章于 2019-05-29 12:33:06 发布