solo per te questa utilissima funzione hce ho realizzato, ti può tornare utile sicuramente..
codice:
/**
* METODO PER MANDARE A CAPO UN TESTO TAGLIANDOLO AL PRIMO SPAZIO RILEVATO DA DESTRA
*
* Il metodo retitisce la stringa suddivisa in più linee, senza troncare le parole, ripettando una lunghezza massima comune per ogni linea
* @param lineaToWordWrap
* stringa da suddividere in più linee
* @param lenMax
* lunghezza massima oltre la quale la linea viene mandata a capo, cercando di non tagliare le parole a metà
* @return
*/
public static String setWordWrap(String lineaToWordWrap, int lenMax){
String returnValue = "";
String ultimoCarattere = "";
int indiceWrap = 0;
int i = 0;
// controllo se raggiunta lunghezza max
if (lineaToWordWrap.length()>lenMax){
// ciclo per l'intera lunghezza massima
for(i=0;i<lenMax;i++){
// recupero nuovo indice
indiceWrap = lenMax-i;
// recupera carattere al limite
ultimoCarattere = String.valueOf(lineaToWordWrap.charAt(indiceWrap));
// se il carattere è uguale a spazio
if(ultimoCarattere.equals(" ")){
break;
}
} // fine ciclo
// controllo se raggiunto limite eseguo taglio anche se non ho trovato lo spazio
if(i==lenMax){
// recupero linea al limite
returnValue = lineaToWordWrap.substring(0,lenMax).trim();
// aggiungo la successiva riga limitata a sua volta
returnValue = returnValue + "\r\n" + setWordWrap(lineaToWordWrap.substring(lenMax).trim(), lenMax);
}else{
// recupero riga limitata
returnValue = lineaToWordWrap.substring(0,indiceWrap).trim();
// aggiungo la successiva riga limitata a sua volta
returnValue = returnValue + "\r\n" + setWordWrap(lineaToWordWrap.substring(indiceWrap).trim(), lenMax);
}
}else{
// ritorno la linea senza alcuna limitazione
returnValue = lineaToWordWrap;
} // fine controllo se raggiunta lunghezza max
return returnValue;
}