In un mio programma java ho l'esigenza di crearmi un metodo che permetta la scrittura grafica di una stringa, tramite graphics in più righe.
In pratica devo scrivere (disegnare) una stringa all'interno di un rettangolo, se una parola non entra va a capo..

Ho creato un mio metodo così fatto:

codice:
private void disegnaARighe (Graphics g , Rectangle rect , String scritta) {
        g.setColor(Color.BLACK);
        int l = (int)rect.getWidth();
        String [] parole = scritta.split(" ");
        int tmp = 0;
        int xCorrente = 0;
        int yCorrente = g.getFontMetrics().getHeight();
        while (tmp < parole.length) {
            if (g.getFontMetrics().stringWidth(parole [tmp]) < (l - xCorrente)) {
                g.drawString (parole [tmp] + " " , rect.x + xCorrente , rect.y + yCorrente);
                xCorrente += g.getFontMetrics().stringWidth(parole [tmp] + " ");
                tmp++;
            }else {
                xCorrente = 0;
                yCorrente += g.getFontMetrics().getHeight() + 2;
                continue;
            }
        }
    }
il parametro 'g' è relativo a un JPanel, ecco quindi spiegato il perchè faccio quelle somme sulla x del disegno.
Comunque il problema è che ho notato che il metodo va in loop infinito ma non riesco a capire perchè..voi riuscite a trovare l'errore?