import java.awt.*; import java.util.*; public class TextWrapper extends Object { static Vector wrapText(String text, FontMetrics fm, int width) { Vector Lines = new Vector(); String line; StringTokenizer words = new StringTokenizer(text, "\n\t ", true); line = new String(""); while ( words.hasMoreTokens() ) { String nextword = words.nextToken(); while ( words.hasMoreTokens() && (nextword.equals("\n") || nextword.equals("\t") || nextword.equals(" ") ) ) nextword = words.nextToken(); if ( words.hasMoreTokens() ) nextword += words.nextToken(); if ( fm.stringWidth(line) + fm.stringWidth(nextword) > width ) { Lines.addElement( line ); line = nextword; } else { line += nextword; } } Lines.addElement(line); return Lines; } }