J2ME文字自动换行

 
  1. 根据提供的原始字符串和自定义分隔符,指定长度,进行字符串自动换行功能。当字符串遇到指定的分隔符或者是达到指定的长度从而进行字符串的截取。英文字符串达到指定长度后查找最后一次出现的空格进行截取。
  2. public static String[] splitString(String s , int len , Font font , char mark , String language){
  3.         Vector v = new Vector();
  4.         while(s != null && (s.indexOf(mark) >= 0 || font.stringWidth(s) > len)){
  5.             
  6.             
  7.             for(int i = 0 ; i < s.length() ; i++){
  8.                 if(s.charAt(i) == mark){
  9.                     if(i == s.length() - 1) {
  10.                         v.addElement(s.substring(0 , i));
  11.                         s = null;
  12.                         break;
  13.                     }else{
  14.                         v.addElement(s.substring(0 , i));
  15.                         s = s.substring(i + 1);
  16.                         break;
  17.                     }
  18.                 }
  19.                 String temp = s.substring(0 , i + 1);
  20.                 if(font.stringWidth(temp) > len){
  21.                     int spaceIndex = temp.lastIndexOf(' ');
  22.                     if(language.equals(NavigationMIDlet.LANGUAGE_DES_CHI) || spaceIndex < 0){   
  23.                         v.addElement(s.substring(0 , i));
  24.                         if(i == s.length() - 1) {
  25.                             v.addElement(s.substring(i));
  26.                             s = null;
  27.                             break;
  28.                         }else{
  29.                             s = s.substring(i);
  30.                             break;
  31.                         }
  32.                     }else{
  33.                         v.addElement(s.substring(0 , spaceIndex));
  34.                         if(spaceIndex == s.length() - 1) {
  35.                             v.addElement(s.substring(spaceIndex));
  36.                             s = null;
  37.                             break;
  38.                         }else{
  39.                             s = s.substring(spaceIndex + 1);
  40.                             break;
  41.                         }
  42.                     }
  43.                 }
  44.             }
  45.         }
  46.         if(s != null) v.addElement(s);
  47.         String []result = new String[v.size()];
  48.         Enumeration e = v.elements();
  49.         int index = 0;
  50.         while(e.hasMoreElements()){
  51.             result[index] = (String)e.nextElement();
  52.             index++;
  53.         }
  54.         return result;
  55.     }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值