Ho un problema che come al solito non riesco a risolvere.

Ho una String di 6 parole e circa 30 caratteri.

Ho creato 5 JLabel per contenere il testo della String.

Ora vorrei fare in modo di splittare questa Stringa in modo che una JLabel contenga SOLO parole intere, cioè senza andare a capo, e con un massimo di 10 caratteri per ogni JLabel.

Faccio un esempio:

String a = new String ("Chi non lavora non fa l'amore");

Splittando verrebbe un Array di stringhe composto da 6 elementi

sp[0] = Chi
sp[1] = non
sp[2] = lavora........

Il risultato dovrebbe essere

JLabel1 = "Chi non"
JLabel2 = "lavora non"
Jlabel3 = "fa l'amore"

Come posso risolvere?

Ho pensato di splittare innanzitutto la Stringa a seconda degli spazi

String [] sp = a.split(" ");

e di fare un controllo annidato con cicli for e if.

Può essere una soluzione o c'è secondo voi una via più semplice?