字符串切割

  /**
     * 分割行
     * 
     * 
@param src,width,height
     * @date
     * 
@return static String[]
     * @autor
     
*/

    
public   static  String[] split(String src,  int  width,  int  height)
    
{
        Vector vector 
= new Vector(20);
        String buffer 
= "";
        
int bufferWidth = 0;
        
int maxBufferWidth = 0;

        
for (int i = 0; i < src.length(); i++)
        
{
            
// 如果遇到换行时
            if (src.charAt(i) == ' ')
            
{
                vector.addElement(buffer);
                maxBufferWidth 
= Math.max(maxBufferWidth, bufferWidth);
                buffer 
= "";
            }

            
else
            
{
                buffer 
+= src.charAt(i);

                
// 计算buffer的宽度
                bufferWidth = Font.getFont(Font.FACE_PROPORTIONAL,
                        Font.STYLE_PLAIN, Font.SIZE_SMALL).stringWidth(buffer);

                
// 如果buffer的宽度大于显示区域的宽
                if (bufferWidth > width)
                
{
                    vector.addElement(buffer.substring(
0, buffer.length() - 1));
                    bufferWidth 
= Font.getFont(Font.FACE_PROPORTIONAL,
                            Font.STYLE_PLAIN, Font.SIZE_SMALL).stringWidth(
                            buffer.substring(
0, buffer.length() - 1));
                    maxBufferWidth 
= Math.max(maxBufferWidth, bufferWidth);
                    buffer 
= "";
                    i
--;
                }

                
else if (i == src.length() - 1)
                
{
                    vector.addElement(buffer);
                    maxBufferWidth 
= Math.max(maxBufferWidth, bufferWidth);
                }

            }

        }


        
// 获取数量
        String[] text = new String[vector.size()];

        
// 将数组循环赋值
        for (int i = 0; i < vector.size(); i++)
        
{
            text[i] 
= (String) vector.elementAt(i);
        }


        
return text;
    }

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值